Atコマンドを使用してジョブをスケジュールします。ここで私は次のコマンドを試しました:
$ at now + 1 minute
echo 'Test at command'
<EOD>
At -lを使用してジョブがスケジュールされていることを確認しました。しかし、エコーアウトは見られませんでした。
At.allowファイルにユーザーを追加する必要があるかもしれません。 Mac(Snow Leopard)でat.allowが見つかりません。これをコマンドでテストするために何をする必要があるのかわかりませんか?
必要なatrun
デーモンを有効にするには、man atrun
が言うように、以下を実行します。
launchctl load -w /System/Library/LaunchDaemons/com.Apple.atrun.plist
ルートとして(例:Sudo
経由)。これが完了すると、/var/at/
がキーディレクトリになります(最も簡単な方法は、ルートとしてat
を使用することです-たとえば、Sudo
によってもう一度!) 。
Snow Leopardでは、次のことを行う必要があります。
/System/Library/LaunchDaemons/com.Apple.atrun.plist
を編集し、無効化された子ノードをtrue
-> false
から変更します。
現在の/System/Library/LaunchDaemons/com.Apple.atrun.plist
をアンロードします。
Sudo launchctl unload -F /System/Library/LaunchDaemons/com.Apple.atrun.plist
次に、編集したバージョンをロードします
Sudo launchctl load -F /System/Library/LaunchDaemons/com.Apple.atrun.plist
それが動作することをテストします。
echo blah | at now+1
エコーが別の理由で失敗した場合、少なくともキューがクリアされるのを見ることができるはずです:
atq
私はOS X Lionでこれを試してみましたが、うまくいったようです。
最初にatrun
デーモンを有効にします。
launchctl load -w
/System/Library/LaunchDaemons/com.Apple.atrun.plist
次に、[ユーザー名]を/var/at/at.allow
に追加します。
実行すると、/var/mail/[your username]
で出力を受け取ります
batch
のキューアイテムは、実際に実行されるまでに数分かかることがわかりました。
atがMac OS Xで無効にされると他の人から返信があり、私はそれについては知りませんが、別の問題があります:echoコマンドでメッセージを出力しますか?私が使用した他のUnixシステムでは、notは、atコマンド。 atジョブを実行すると、ログインしなくなった可能性があることに注意してください。
代わりに何かをファイルに書き込んでみて、そのファイルが適切なタイミングで表示されるかどうかを確認してください。
OS X(10.4)の私のインストールはman at
:
注 Mac OS Xでは、デフォルトでat、batch、atq、atrmがすべて無効になっています。
指示に従ってatrun
を有効にしましたか?