なんだこれは

はてなダイアリーから移転しました。

atコマンドが使いたくなった。launchctl

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なんだ。つまり設定はコマンドでいじるのね。

by (MYCOM PCWEB)のコラム

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:サービス