日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux中进程杀不死解决办法

發布時間:2024/3/26 linux 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux中进程杀不死解决办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如圖,多次在kill -9 此進程后依然存在

先說解決辦法,輸入過濾命令ps -ef|grep xxx(此處寫要過濾的進程名字),例如

之后kill掉對應的進程號,如圖

問題解決。

如果有多個子進程可以先過濾再一起殺死:ps -ef | awk '/spark/ && !/awk/{print $2}' | xargs kill -9

這里我思考了一下發生問題的原因,kill掉3575沒有提示進程不存在,3565應該是父進程,而子進程在被殺死之后因為依賴的父進程存活,又立馬重新運行,所以即便多次成功殺死3575子進程依然存活。

簡單講就是進程已經成為僵死進程,當它的父進程將它回收或將它的父進程kill掉即可在ps輸出看不到了

僵尸進程不能被殺死,因為它們已經死亡,只等待它們的父進程回收它們。

而如果殺死不存在進程會有提示信息,這也說明之前的僵尸進程是被殺死又重新運行了的:

當然進程殺不死也有其他可能:

1.因為jps這個命令是jdk提供的,準確率不高,而ps -ef是linux自帶的,前者查詢不準確導致的。

2.進程正處在內核狀態中,Linux進程運行時分內核和用戶兩種狀態,當進程進入內核狀態后,會屏蔽所有信號,包括SIGKILL,所以這個時候kill -9也變得無效了。

當SIGKILL被發送給一個程序時,它使程序立即終止。與SIGTERM和SIGINT相比,這個信號不能被捕獲或忽略,同時接收這個信號的進程在收到這個信號時不能執行任何清理。

即使SIGKILL被發送給它,一個正在不可中斷睡眠的進程也可能不會終止(并且釋放它的資源)。這是少數幾個一個UNIX系統可能需要被重新啟動來解決臨時軟件問題的例子中的一個。

總結

以上是生活随笔為你收集整理的linux中进程杀不死解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。