当前第2页 返回上一页
一种可靠的方法是使用"kill -0 pid",kill -0不会向进程发送任何信号,但是会进行错误检查。如果进程存在,命令返回0,如果不存在返回1。
1 2 3 4 5 6 7 8 9 10 | [sw@gentoo ~]$ ps
PID TTY TIME CMD
pts/0 00:00:00 bash
pts/0 00:00:00 ps
[sw@gentoo ~]$ kill -0 15091
[sw@gentoo ~]$ echo $?
[sw@gentoo ~]$ kill -0 15092
-bash: kill: (15092) - No such process
[sw@gentoo ~]$ echo $?
[sw@gentoo ~]$
|
但是,这种方法对于普通用户来说只能用于检查自己的进程,因为向其它用户的进程发送信号会因为没有权限而出错,返回值也是1。
1 2 3 4 5 | [sw@gentoo ~]$ kill 2993
-bash: kill: (2993) - Operation not permitted
[sw@gentoo ~]$ echo $?
1
[sw@gentoo ~]$
|
当然,如果你用特权用户执行kill命令的话,就没有权限问题啦。
以上就是linux检测进程是否存在的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
Linux终端显示中文乱码
Linux下写入文件失败
适用于刚接触云计算的自行搭建网站流程
在Linux中$是什么意思?
Linux无法ping通网关和其他ip地址
如何查看Linux系统配置
Linux与android的区别是什么?
Linux无法访问外网的解决方法
创建模板之后如何查询可用的实例启动模板
Linux卸载软件命令是什么
更多相关阅读请进入《Linux》频道 >>
转载请注明出处:木庄网络博客 » linux检测进程是否存在