2013-07-17 97 views
3

如何編寫一個bash腳本來檢查當前沒有運行的cron作業,然後執行一些簡單的操作?Linux,檢查目前沒有運行cron作業的代碼?

我不是在談論計劃在某個時間點運行的cron作業,我指的是主動運行的進程。

謝謝!

+0

這是一個非常有趣的問題。我沒有答案,但一個建議:你可以運行'ps'列表,並查看父項是否爲cron pid,或者cron是否清除了管理啓動的進程的父項? – PaulProgrammer

回答

4

intresting問題;)

for pid in `pgrep cron`;do 
    ps uh --ppid $pid; 
done|grep -v CRON 
+0

謝謝,這是如何工作的?我不確定cron進程的結構 - 實際上它看起來不起作用,看起來像CROND可能啓動進程? – OneSolitaryNoob

+0

所有由cron運行的作業都是從cron創建的分叉進程開始的。上述迭代通過cron(pgrep cron)分叉的所有進程,並且對於所有這些pid列出這些進程childrens –

0

你可以這樣寫

crontab -l | grep -v "^#" | awk '{print $6}' 

crontab中,並檢查是否有任何腳本/工作的運行