2013-07-17 95 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中,并检查是否有任何脚本/工作的运行