[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:15167] /etc/init.d/cron stops with pipeline



丸山@楓町です。

自分ではよくわからない現象に遭遇しました。
すみませんが、わかる方がいらっしゃいましたら教えてください。
「それは当然」「うちでは違う」「過去ログのここにある」
などの情報もありましたらよろしくお願いします。

・出ている現象
/etc/init.d/cron の出力をパイプラインで別のプロセスに送ると、
Ctrl-C で中断するまで停止してしまう。

・環境
以下の2台のマシンの環境で共通してこの現象が出ています。

Debian Slink
Kernel 2.0.34
ii  sysvinit        2.76-3         System-V like init.

Debian Potato
Kernel 2.2.1
ii  sysvinit        2.76-3.2       System-V like init.

・やっていること
/etc/rc?.d/ 以下のスクリプトが実行された時のログを残そうとしています。

/etc/init.d/rc の中で
	startup $i start
と書かれている部分を
	startup $i start 2>&1 | /usr/bin/tee -a /var/log/rc.log
のように書き換えています。

・問題点
上記のようにしてシステムを起動すると、
cron が実行されたメッセージの後に
ブートシーケンスが停止してしまいます。
("Starting periodic command scheduler: cron." と表示されたまま
その後はメッセージは何も表示されず、HDD アクセスも起きません)

/etc/rc2.d/S89cron を s89cron にリネームして
実行されないようにしておくと、
他のスクリプトの結果はすべてログに記録され
通常通り起動します。

原因特定のため、この cron のスクリプトを単体で呼び出してみました。

# /etc/init.d/cron stop
Stopping periodic command scheduler: cron.

で停止させた後、

# /etc/init.d/cron start | cat
Starting periodic command scheduler: cron.

このように出力を cat に送ってやると、
"Starting periodic command scheduler: cron." の表示が出た後、
Ctrl-C を押すまでそのまま停止してしまいます。

この原因や回避法を知りたいのですが、
何かわかる方がいらっしゃいましたら教えてください。

よろしくお願いします。

						丸山竜也: paz@xxxxxxxxxxxxx