亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    查看linux查看進(jìn)程是否存在

    查看linux查看進(jìn)程是否存在

    這個(gè)問(wèn)題看起來(lái)好像很簡(jiǎn)單,"ps -ef | grep xx"一下就行啦!這樣做當(dāng)然可以,但是如果我們考究起性能來(lái),這恐怕不是個(gè)好辦法。

    假設(shè)我們現(xiàn)在要監(jiān)測(cè)某進(jìn)程是否存活,每分鐘檢查一次,用上面的辦法就要每分鐘運(yùn)行一次ps命令并且做一次grep正則查找。

    這點(diǎn)開(kāi)銷在服務(wù)器上似乎不算什么,然而如果我們要在同一節(jié)點(diǎn)上同時(shí)監(jiān)測(cè)數(shù)十個(gè)、數(shù)百個(gè)這樣的進(jìn)程又如何呢?(推薦學(xué)習(xí):linux教程)

    所以,我們有必要從性能的角度出發(fā),發(fā)掘一些更好的辦法。

    對(duì)于daemon進(jìn)程,通常都會(huì)有自己的pid或者lock文件,我們可以檢查這些文件是否存在來(lái)判斷進(jìn)程是否存在。然而有些異常情況下,pid文件存在進(jìn)程卻并不存在。因此并不能依賴進(jìn)程的pid文件來(lái)檢測(cè)進(jìn)程是否存活。

    一種可靠的方法是使用"kill -0 pid",kill -0不會(huì)向進(jìn)程發(fā)送任何信號(hào),但是會(huì)進(jìn)行錯(cuò)誤檢查。如果進(jìn)程存在,命令返回0,如果不存在返回1。

    [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 ~]$

    但是,這種方法對(duì)于普通用戶來(lái)說(shuō)只能用于檢查自己的進(jìn)程,因?yàn)橄蚱渌脩舻倪M(jìn)程發(fā)送信號(hào)會(huì)因?yàn)闆](méi)有權(quán)限而出錯(cuò),返回值也是1。

    [sw@gentoo ~]$ kill 2993 -bash: kill: (2993) - Operation not permitted [sw@gentoo ~]$ echo $? [sw@gentoo ~]$

    當(dāng)然,如果你用特權(quán)用戶執(zhí)行kill命令的話,就沒(méi)有權(quán)限問(wèn)題啦。

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)