2014-05-22 96 views
0

如果您使用Cron安排作業幷包含background operand &,這是不正確的?例如:Cron和背景操作數&

0 0 * * * /usr/bin/prstat -Z -n 0 -c 60 1440 > /var/log/avgload/test.txt & 

編輯: 另一個問題。我嘗試在重新啓動時重新安排一次作業 - @reboot - 但SmartOS不會接受它,另一種選擇是什麼?例如

@reboot /usr/bin/prstat -Z -n 0 -c 60 > /var/log/avgload/test.txt 

回答

1

摘自「男人SH」: shell不會等待 「如果一個命令是由控制操作&,終止 殼在子shell後臺執行命令。命令完成,返回狀態爲0.「

cron守護進程可識別每個啓動的cron作業的退出代碼,並可將其寫入日誌文件(假設機器配置正確)。

從cron守護程序日誌文件在Solaris上的摘錄:

> CMD: /path/cronjob ... 
> user pid c Sun Apr 24 10:00:00 2014       
.............................................. 
< user pid c Sun Apr 24 10:12:33 2014 rc=127      

的每個cron作業的完成時間一個符號有可能不爲0的返回碼在一起大約是每個cron作業的成功和持續時間的唯一信息來自cron守護進程。這些信息是cron作業維護和監控所必需的。

如果您想故意隱藏此類免費信息,您可以使用'&'。 在cron表中使用'&'是沒有意義的,至少在cron作業的最後一個位置。

+0

謝謝!我知道了。我還有一個同樣的問題。 – ngungo