就强行结束掉,shell awk 检查程序是否执行

时间:2016-05-11 作者:许昌诚 阅读:1209次

  就强行结束掉,shell awk 检查程序是否执行   root 7620 0 10:48 pts/0 00:00:,当第8列等于grep的时候,是没有运行的,system调用php执行,反之在运行,然后导致php程序卡死,一直没有搞清楚,为什么会这样。   通过shell结合awk可以很好判断某一进程是不是运行,或者某一程序文件是否被执行,下面以php为例来说明一下。   定义一个crontab,每一分钟执行一次,时间间隔为一分钟,可能下一次执行的时候,上次还没有执行完,所以我们要做一下判断。   root 0 10:48 ? 00:00:00 awk NR==1{\?if {\?system;\?}else{\?print "running";\?}\?}   root 0 10:48 ? 00:00:00 sh -c cd /home/test/cron &&   root 1 10:48 ? 00:00:   root 7620 0 10:48 pts/0 00:00:   root 7620 0 10:48 pts/0 00:00:   ps -ef|,当第8列等于grep的时候,是没有运行的,system调用php执行,反之在运行。   执行后,一天差不多,会出现一次这样的情况,   root 8043 8040 0 09:33 ? 00:00:00 awk NR==1{\?if {\?system;\?}else{\?print "running";\?}\?}   root 8044 8043 0 09:33 ? 00:00:00 sh -c cd /home/test/cron &&   root 8045 8044 0 09:33 ? 00:00:   root 0 Oct14 ? 00:00:00 awk NR==1{\?if {\?system;\?}else{\?print "running";\?}\?}   root 0 Oct14 ? 00:00:00 sh -c cd /home/test/cron &&   root 0 Oct14 ? 00:00:   root 0 10:32 pts/0 00:00:   然后导致php程序卡死,一直没有搞清楚,为什么会这样。   eval ${t++;}}END{print "t="t;}');   的意思,每隔一段时间检查一下,正在被执行的次数,如果大于1,就强行结束掉,所有根有关的进程。   六、awk查看,倒排序查看,服务器各类进程数   

# ps -ef| awk '{a++}END{for{print i,a | "sort -r -k 2"}}'
  root       7620  0 10:48 pts/0    00:00:,当第8列等于grep的时候,是没有运行的,system调用php执行,反之在运行,然后导致php程序卡死,一直没有搞清楚,为什么会这样,root       7620  0 10:48 pts/0    00:00:,root        0 Oct14 ?        00:00:00 sh -c cd /home/test/cron &&,a | "sort -r -k 2"}}'。
	
        
相关教程