linux - 如何用Shell脚本判断一个进程是否在运行?
本文介绍了linux - 如何用Shell脚本判断一个进程是否在运行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我现在想写个脚本来重启进程,但首先需要得知这个线程是不是在运行,是的话就杀掉。
我知道ps -ef|grep <参数> 可以获取含有<参数>的运行中的程序,但是每次获取都是有结果的,因为这个:(例如<参数>为java)
zsdx 7552 6702 0 11:36 pts/0 00:00:00 grep --color=auto java
我要怎么排除掉这个输出,才能实现判断进程的运行状态?
或者有什么其他的办法适用于这种情况的?谢谢。
解决方案
可以串一个| grep -v grep
把grep去掉
警告: 用ps+grep找进程其实是不可扩展的,如果将来有多个匹配的进程.. 安全的方法是启动时把pid写到文件,要杀掉时从pidfile读。或者交给supervisor管理。
这篇关于linux - 如何用Shell脚本判断一个进程是否在运行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文