linux - 如何用Shell脚本判断一个进程是否在运行?
PHP中文网
PHP中文网 2017-04-17 16:33:28
[Linux讨论组]
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
巴扎黑

可以串一个| grep -v grep把grep去掉

警告: 用ps+grep找进程其实是不可扩展的,如果将来有多个匹配的进程.. 安全的方法是启动时把pid写到文件,要杀掉时从pidfile读。或者交给supervisor管理。

伊谢尔伦

linux下面,对进程进行管理的通用的做法是在进程启动时,将进程号写到文件里面,可以去/var/run/目录里面看看,里面有各种.pid文件。管理的时候,读取这个文件获得进程号。

天蓬老师

举个例子:ps -ef|grep [j]ava

阿神
[root@nginx conf.d]# ps -aux | grep  "nginx" | grep -v "grep" 
root       1950  0.0  0.4  47904  2232 ?        Ss   03:43   0:00 nginx: master process nginx
nginx     13545  0.0  0.5  48336  2504 ?        S    22:27   0:00 nginx: worker process
[root@nginx conf.d]# ps -aux | grep  "nginx" | grep -v "grep" > /dev/null
[root@nginx conf.d]# echo $?
0

需要根据实际情况做修改

补充一个

[root@nginx ~]# ps -C nginx
   PID TTY          TIME CMD
  1950 ?        00:00:00 nginx
 13545 ?        00:00:00 nginx
[root@nginx ~]# 
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号