CentOS上某一使用者宕機後處理辦法
Linux 宕機有很多種情況,最常見的是系統負載過高。系統負載過高導致的卡死,一解決的越快越好!
必須要養成不依賴任何圖形介面的東西,通常使用windows的人都有這習慣,這隻會繼續加重這種卡死的局面。
解決辦法:使用linux的文字介面tty。按 Ctrl-Alt-F2(F1-F6 一般來說都可以),然後等一會兒,就會切換到 tty。登入賬號。注意,鍵盤輸入速度可能慢了點,在輸入數字時不要用數字鍵盤區,雖然按Num Lock鍵會一亮一來,但我這裡數字鍵不起作用。
下面在提示符後面輸入 top命令,檢視耗用資源最多的程序。
找到要耗用資源最多的程序,記住PID或程序名字
按q退出,
然後輸入 kill PID,或者pkill 程序名
這個時候應該會快了不少,如果你發現沒有成功結束掉,就再輸入 kill -KILL ,這次基本上就沒問題了。
我在kill掉耗費資源最多的幾個程序後,返回到圖形介面,發現依然宕機,這就表明不屬於負載過高的情況。
用其它使用者登入,發現其它使用者正常。
分析可能是守護程序的原因,考慮到問題使用者本身沒開啟幾個程式,就沒在追蹤原因所在,
最後 選擇登出問題使用者。
選用 pkill 命令,步驟如下:
1. 先用 w 命令檢視當前登入系統的使用者:
[[email protected]CentOS ~]# w
11:48:09 up 3:13, 2 users, load average: 0.00, 0.01, 0.00
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
root pts/0 218.17.167.82 11:47 0.00s 0.03s 0.01s w
root pts/1 218.17.167.82 11:43 2:34 0.03s 0.03s -bash
2. 使用 pkill 命令將從 pts/1 終端登入的使用者登出:
[[email protected] ~]# pkill -kill -t pts/1
其中第 1 個引數 -kill 中的 kill 是 SIGKILL 訊號的縮寫。類似的,如果你要傳送 SIGINT 訊號,可以:
[[email protected] ~]# pkill -int -t pts/1
-t 選項後跟著連線終端的名稱