linux如何用pid查看进程是否存在


这篇“linux如何用pid查看进程是否存在”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux如何用pid查看进程是否存在”文章吧。 在linux中,可以利用kill命令查看根据pid查看进程是否存在,“kill -0”不会向进程发送信号,但是会进行错误检查,若进程存在,返回的结果是0,若进程不存在,返回的结果是1,语法为“kill -0 pid”。本教程操作免费云主机域名环境:linux7.3系统、Dell G3电脑。假设我们现在要监测某进程是否存活,每分钟检查一次,用上面的办法就要每分钟运行一次ps命令并且做一次grep正则查找。这点开销在服务器上似乎不算什么,然而如果我们要在同一节点上同时监测数十个、数百个这样的进程又如何呢?所以,我们有必要从性能的角度出发,发掘一些更好的办法。对于daemon进程,通常都会有自己的pid或者lock文件,我们可以检查这些文件是否存在来判断进程是否存在。然而有些异常情况下,pid文件存在进程却并不存在。因此并不能依赖进程的pid文件来检测进程是否存活。一种可靠的方法是使用”kill -0 pid”,kill -0不会向进程发送任何信号,但是会进行错误检查。如果进程存在,命令返回0,如果不存在返回1。但是,这种方法对于普通用户来说只能用于检查自己的进程,因为向其它用户的进程发送信号会因为没有权限而出错,返回值也是1。当然,如果你用特权用户执行kill命令的话,就没有权限问题啦。另一方面,我们知道内核会通过/proc虚拟文件系统导出系统中正在运行的进程信息,每个进程都有一个/proc/目录。因此我们可以将检测进程是否存在转换为检测/proc/目录是否存在,这样就简单多了。以上就是关于“linux如何用pid查看进程是否存在”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注开发云行业资讯频道。

相关推荐: linux如何查看jdk是32位还是64位的

这篇“linux如何查看jdk是32位还是64位的”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux如何查看jdk是32位还是64位的”文…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 12/27 09:47
下一篇 12/27 10:04