BSD/OS at
/etc/rc読解講座再開
お次はこれ
rm -f /var/spool/at/atrun.lock
atコマンドの、ロックファイルを消している。
ロックファイルはat.c内の
if ((lockdes = open(_PATH_LOCKFILE, O_WRONLY | O_CREAT, 0600)) < 0) perr2("Cannot open lockfile ", _PATH_LOCKFILE); lock.l_type = F_WRLCK; lock.l_whence = SEEK_SET; lock.l_start = 0; lock.l_len = 0; act.sa_handler = alarmc; sigemptyset(&(act.sa_mask)); act.sa_flags = 0; fcntl(lockdes, F_SETLKW, &lock);
で見ていて、oepnに失敗した場合処理を終了するし、排他制御もこのファイルで行っている。
まぁ、消すのはゴミだからね。
atコマンドは、
http://ja.wikipedia.org/wiki/At_%28UNIX%29
参照
任意のコマンドを任意の指定した時間に1回実行するようスケジュールするという便利な奴。
現在の環境を継承するので、ワーキングディレクトリや環境変数をスケジュール設定時と同じにして実行できるらしい。
確かにジョブをセットすると、
/var/spool/at以下にジョブ実行用の設定ファイル?が出来て、
中を見ると環境変数やらが書いてある。
ただし、実行結果がメールで返ってくる点が注意。
てっきり、標準出力に出力されると思っていたよ。