at 時間
で標準入力のコマンドを指定時間に実行する。UNIXでもよく使われるコマンド。それで、指定時間を過ぎても、実行されないので、調べてみるとatrunというDaemon*1を起動しておくらしい。うーん、よくわからない。StartUpItemsか?
locateで調べると、/System/Library/LaunchDaemon/にcom.apple.atrun.plistがあって、それにDisabledの値がtrueになってる。falseにして再起動してみたが、ダメっぽい。元に戻す。
調べてみると、/etc/crontabで5分おきに/usr/libexec/atrunを動かしたら、いいんじゃないの?みたいな表記がある。どうなんだろう。
うーん。よくわからない。
launchd
もっと調べてみると、Tigerからlaunchctlで設定するみたいです。launchdというのでdaemonを管理するのね。なるほどなるほど。これで、設定ファイルがXMLに統一されているというわけですね。それが/System/Library/LaunchDaemonのplistなんだ。つまり設定はコマンドでいじるのね。
cd /System/Library/LaunchDaemons/ sudo launchctl load -w com.apple.atrun.plist
でエラー無し。よしよし、-wでいいのか?うん、launchctl listでcom.apple.atrunが表示されたし、これでいいのか?えい、実行だ
sudo launchctl start atrun
launchctl start error: No such process
ああ、そうか
sudo launchctl start com.apple.atrun
よーしよしよしよーし。とりあえず、エラー無し。
今日コレ以外で覚えたこと。
- sudo -sで何回もpassword打たなくていい。
- これはcrontabでも設定できそう。
*1:サービス