在cdh執行任務時,發現資源嚴重不足,但同時又沒跑著其他大型任務
先通過top命令 ,再按m檢視
發現這種程序(cdh的監控採集程序)佔據了大量資源,再檢視其的父pid發現是系統1號程序,所以判斷可能是異常宕機等導致了這些程序未關閉由系統1號程序接管,但已經無法正常工作,也未正常關閉,占用著大量資源
#檢視 ps aux|head -1;ps aux|grep -v pid|sort -rn -k +4|head
#kill殭屍程序
清理殭屍程序後
殭屍程序 處理
由於使用fork建立的子程序被kill以後,父程序沒有kill時,用ps檢視就會顯示該子程序 為殭屍程序。開始沒有設定signal sigchld,sig ign 然後在程式裡用system kill s 9 表示子程序號 執行之後發現子程序顯示為殭屍程序。但是直接在後台執行 kill s 9 再次...
殭屍程序的處理
在unix 系統中,乙個程序結束了,但是他的父程序沒有等待 呼叫wait waitpid 他,那麼他將變成乙個殭屍程序.在fork execve 過程中,假設子程序結束時父程序仍存在,而父程序fork 之前既沒安裝sigchld訊號處理函式呼叫 waitpid 等待子程序結束,又沒有顯式忽略該訊號,...
殭屍程序的處理
利用kill函式 利用sigchld訊號 kill函式可以向某個程序或者程序組傳送特定的訊號。include include intkill pid t pid,int sig include include include void fun int sig intmain getchar wait...