ubuntu終止進程的方法


在ubuntu中,終止一個進程或終止一個正在運行的程序,一般是通過 kill 、killall、pkill、xkill 等進行。
——————————————————————-
先看兩個例子:

例子一:結束某個程序,如Firefox     
鍵入命令:
pkill firefox

例子二: 結束某個進程,如find           

先用ps命令來查看該進程對應的PID。
鍵入ps,顯示如下:
PID TTY TIME COMMAND
285 1 00:00:00 -bash
287 3 00:00:00 -bash
289 5 00:00:00 /sbin/mingetty tty5
290 6 00:00:00 /sbin/mingetty tty6
312 3 00:00:00 telnet bbs3
341 4 00:00:00 /sbin/mingetty tty4
345 1 00:00:00 find / -name foxy.jpg
348 1 00:00:00 ps

可以看到該進程對應的PID是345,現在使用kill命令來終止該進程。
鍵入:
# kill 345

再用ps命令查看,就可以看到,find進程已經被殺掉了。
—————————————————————————
下面來了解相關命令:

一、查看進程的命令 有ps、pstree、pgrep等:                                       

1、ps                                             
顯示進程信息,參數可省略 
-aux    以BSD風格顯示進程 常用
-efH    以System V風格顯示進程
-e , -A 顯示所有進程
a         顯示終端上所有用戶的進程
x         顯示無終端進程
u         顯示詳細信息
f          樹狀顯示
w        完整顯示信息
l          顯示長列表

在終端中執行ps aux,
各列輸出字段的含義:

USER         進程所有者
PID            進程ID
PPID          父進程
%CPU        CPU占用率
%MEM      內存占用率
NI             進程優先級。數值越大,占用CPU時間越少
VSZ           進程虛擬大小
RSS            頁面文件占用
TTY            終端ID
STAT          進程狀態
+—D    不可中斷     Uninterruptible sleep (usually IO)
+—R    正在運行,或在隊列中的進程
+—S    處於休眠狀態
+—T    停止或被追蹤
+—Z    僵屍進程
+—W    進入內存交換(從內核2.6開始無效)
+—X    死掉的進程

+—<    高優先級
+—N    低優先級
+—L    有些頁被鎖進內存
+—s    包含子進程
+—+    位於后台的進程組;
+—l    多線程,克隆線程  multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

PID:進程標識符,系統為每一個進程分配一個識別碼,稱為PID。        

ps命令極為常用,其他命令還有:

2.pstree                                          
樹狀顯示進程信息
-a 顯示完整命令及參數
-c 重復進程分別顯示
-c 顯示進程ID PID
-n 按 PID 排列進程

3.pgrep <進程名>                            
顯示進程的PID
-l 顯示進程名和進程PID
-o 進程起始ID
-n 進程終止ID

二、結束進程的命令 有kill、pkill、killall、xkill等:                                    

kill [信號代碼] <進程PID>                 

根據PID向進程發送信號,常用來結束進程,默認信號為 -9
信號代碼,可取值如下:
-l [信號數字] 顯示、翻譯信號代碼
-9 , -KILL 發送 kill 信號退出
-6 , -ABRT 發送 abort 信號退出
-15 , -TERM 發送 Termination 信號
-1 , -HUP 掛起
-2 , -INT 從鍵盤中斷,相當於 Ctrl+c
-3 , -QUIT 從鍵盤退出,相當於 Ctrl+d
-4 , -ILL 非法指令
-11 , -SEGV 內存錯誤
-13 , -PIPE 破壞管道
-14 , -ALRM
-STOP 停止進程,但不結束
-CONT 繼續運行已停止的進程
-9 -1 結束當前用戶的所有進程

pkill <進程名>                                
結束進程族。如果結束單個進程,請用 kill

killall <進程名>                               
killall和pkill 應用方法差不多,也是直接殺死運行中的程序;如果您想殺掉單個進程,請用kill 來殺掉。

xkill                                                
在圖形界面中點殺進程。
當xkill運行時鼠標指針變為骷髏圖案,哪個圖形程序崩潰一點就OK了。如果您想終止xkill ,就按右鍵取消。
比如當firefox 出現崩潰不能退出時,點鼠標就能殺死firefox 。
xkill 調用方法:
[root@localhost ~]# xkill

 

 

查詢pid

輸入:ps axu | grep phpstorm

查詢結果為 :root  2657  103  19.6 4714496 778216  ?  Sl  09:19 30:04 /usr/local/share……………….

殺掉進程:kill -9 2657  [-9是直接殺死程序]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM