linux下kill -9 不能強制殺掉spark-submit程序
阿新 • • 發佈:2018-11-25
問題:
在python編輯器中執行spark程式時,忘記加spark.stop()停止spark,所以每提交一次程式就多一個spark-submit程序,而且sparkUI的埠號還被佔用了。這時候用
kill -9 spark-submit_pid
無法殺死spark-submit程序
原因:
kill -9傳送SIGKILL訊號將其終止,但是以下兩種情況不起作用:
a、該程序處於"Zombie"狀態(使用ps命令返回defunct的程序)。此時程序已經釋放所有資源,但還未得到其父程序的確認。"Zombie"程序要等到下次重啟時才會消失,但它的存在不會影響系統性能。
"Zombie"程序即所謂的“殭屍程序”,相關概念參考:
b、 該程序處於"kernel mode"(核心態)且在等待不可獲得的資源。處於核心態的程序忽略所有訊號處理,因此對於這些一直處於核心態的程序只能通過重啟系統實現。程序在AIX 中會處於兩種狀態,即使用者態和核心態。只有處於使用者態的程序才可以用“kill”命令將其終止
解決辦法:
目前找到的解決辦法只能重啟,,,
參考文獻: