導航:首頁 > 程序命令 > linux系統kill命令

linux系統kill命令

發布時間:2022-09-09 07:52:22

1. linux中前台啟動的進程使用什麼終止的

Linux可以使用Ctrl+C結束正在終端運行的程序。也可以使用kill命令來結束指定進程。kill命令可以發送多個不同的信號,默認(預設)情況下,kill發送的是TERM,即15(SIGTERM)信號。

是一種安全用法,這個信號通常會要求程序自己正常退出,kill pid可以被阻塞、處理和忽略的,所以對於有的進程,會中止失敗。

(1)linux系統kill命令擴展閱讀:

Linux不僅系統性能穩定,而且是開源軟體。其核心防火牆組件性能高效、配置簡單,保證了系統的安全。在很多企業網路中,為了追求速度和安全,Linux不僅僅是被網路運維人員當作伺服器使用,它還被當作伺服器,甚至當作網路防火牆,這是Linux的一大亮點。

Linux具有開放源碼、沒有版權、技術社區用戶多等特點,開放源碼使得用戶可以自由裁剪,靈活性高,功能強大,成本低。尤其系統中內嵌網路協議棧,經過適當的配置就可實現路由器的功能。這些特點使得Linux成為開發路由交換設備的理想開發平台。

2. Linux kill 命令怎麼用

Linux kill 命令用於終止進程,其用法步驟如下:

需要准備的材料分別是:電腦、linux連接工具。

1、首先連接上linux主機,進入命令行狀態。

3. 4-6 Linux 終止進程 --- kill (kill -15 實驗)

kill -15 PID —— 正常方式終止一個程序。中斷進程時應首先用 -15,以便於其能夠預先清理臨時文件和釋放資源。-9 作為最後手段,應對那些失控的進程。

1)、kill -15 終止後台運行的進程。

紅色下劃線:sleep 10000 & —— 後台運行延時 10000 秒的命令,進程 ID 為1550。

黃色下劃線:ps -j —— 列出 1550 sleep 命令的進程。

(PID:進程 ID、PGID:線程組 ID、SID:會話 ID、TTY:進程運行的終端,標識那個終端控制。(pts遠程終端、tty系統終端)、TIME:進程運行的時間 和 CMD:命令的名稱和參數)。

jobs -l —— 列出後台運行的命令,1550 sleep 命令正在後台運行。

藍色下劃線:kill -15 1550—— 終止1550 進程。系統反饋 Terminated 終止 1550 進程。

綠色方框:ps -j 已查詢不到 1550 sleep 的進程。jobs -l 也沒有後台運行的命令。

2)、kill -15 配合 fg 查看終止掛起的進程。

紅色下劃線:sleep 10000 延時 10000 秒後 ctrl + z 掛起。

黃色下劃線:ps -j 查看進程,有 1578 sleep 的進程。jobs -l 查看後台,1578 sleep 的狀態是 stopped 暫停狀態。

藍色下劃線:kill -15 終止 1578 進程。此時系統沒有反饋信息。

綠色下劃線:ps -j 查看進程,1578 sleep 進程仍在。jobs -l 查看後台,1578 sleep 的狀態是 stopped 暫停狀態。

紅色下劃線:fg 1 把後台運行的 sleep 調至前台繼續運行。此時,系統首先提示 sleep 已經調至前台運行,然後又提示 Terminated 終止進程。

藍色下劃線:ps -j 查看進程已經沒有了 1578 sleep 進程。jobs -j 查看也後台也沒有命令在執行。

3)、kill -15 配合 bg 查看終止掛起的進程。

同樣的,首先sleep 10000 後 ctrl + z 掛起。通過 ps -j 查看後台進程有 1590 sleep進程,josb -l 查看後台也有狀態為 stopped  的1590 sleep 命令。 然後,kill -15 1590 終止 1590 進程。再次通過 ps -j 查看1590 sleep進程仍在,josb -l 查看後台還有狀態為 stopped  的1590 sleep 命令。

紅色下劃線:bg 1 把掛起的 sleep 命令繼續運行。此時,系統反饋 sleep 命令在後台運行。

黃色下劃線:ps -j 查看進程,系統反饋 sleep 進程已經  Terminated  終止。jobs -l 也查詢不到sleep 在後台運行。

從實驗上看:

1、後台命令運行時(Running),執行 kill -15 可以終止進程。

2、掛起命令,處於暫停狀態時(Stopped),執行 kill -15 後通過 ps 還可以查詢到進程, jobs還可以查詢到後台命令,狀態仍然是 Stopped 暫停狀態。用 fg 把暫停的後台進程調至前台運行時,系統反饋一行 sleep 命令調至前台運行。跟著一條 Terminated 終止進程。再用 ps 查詢不到進程。用 jobs 已經查詢不到後台命令。(這里和 kill -2 不同,kill -2 後用 fg 系統只反饋一行 sleep 命令調至前台運行,沒有提示進程已中斷。)

3、掛起命令,處於暫停狀態時(Stopped),執行 kill -15 後通過 ps 還可以查詢到進程, jobs還可以查詢到後台命令,狀態仍然是 Stopped 暫停狀態。用 bg 把暫停的後台命令恢復運行時,系統反饋 sleep 命令在後台運行。再用 ps 查詢進程已經終止,用 jobs 已經查詢不到後台命令。(這里和 kill -2一樣)

4. Linux下 netstat ps kill 命令詳解及常用命令收集

前言,phper 脫離 fpm 學習 swoole GO 時 經常會用一些進程管理命令 這里熟悉下

netstat 命令

Netstat 命令用於顯示各種網路相關信息,如網路連接,路由表,介面狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。

常見參數

-a (all) 顯示所有選項,默認不顯示 LISTEN 相關

-t (tcp) 僅顯示 tcp 相關選項

-u (udp) 僅顯示 udp 相關選項

-n 拒絕顯示別名,能顯示數字的全部轉化成數字。

-l 僅列出有在 Listen (監聽) 的服務狀態

-p 顯示建立相關鏈接的程序名

-r 顯示路由信息,路由表

-e 顯示擴展信息,例如 uid 等

-s 按各個協議進行統計

-c 每隔一個固定時間,執行該 netstat 命令。

提示:LISTEN 和 LISTENING 的狀態只有用 - a 或者 - l 才能看到

常見命令

列出所有埠 (包括監聽和未監聽的)

netstat -a #列出所有埠

netstat -at #列出所有的tcp 埠

netstat -au #列出所有的udp 埠

列出所有處於監聽狀態的 Sockets

netstat -l #只顯示在監聽的埠

netstat -lt #只顯示所有的在監聽的tcp 埠

netstat -lu #只顯示所有的在監聽的udp 埠

netstat -lx #只顯示所有的在監聽的unix 埠

在 netstat 輸出中顯示 PID 和進程名稱 netstat -p

netstat -pt #顯示所有tcp埠的PID 和進程名稱

查找 (經常使用)

netstat -ap | grep xxx #查找程序名為xxx的運行埠

netstat -an | grep ':80' #找出運行在指定埠的進程

PS 命令

PS 是 LINUX 下最常用的也是非常強大的進程查看命令

常用命令

ps -ef | grep 進程關鍵字 #查找某一進程

參數解釋

UID :程序被該 UID 所擁有

PID :就是這個程序的 ID

PPID :則是其上級父程序的ID

C :CPU使用的資源百分比

STIME :系統啟動時間

TTY :登入者的終端機位置

TIME :使用掉的CPU時間

CMD :所下達的是什麼指令

ps -ax | less # 按向下鍵查看進程 q 鍵退出

pstree 樹形顯示所有進程 pstree -p 9005 樹形顯示某個埠進程

ps -eo pid,user,args 參數 -e 顯示所有進程信息,-o 參數控制輸出。Pid,User 和 Args 參數顯示 PID,運行應用的用戶和該應用。可以查看現在有誰登入了你的伺服器

kill 命令

kill -9 PID 可以徹底殺死進程

kill -9 $(ps -ef | grep xxx) 殺死 查找到的所有進程 有點危險!

常用參數

HUP 1 終端斷線

INT 2 中斷(同 Ctrl + C)

QUIT 3 退出(同 Ctrl + )

TERM 15 終止

KILL 9 強制終止

CONT 18 繼續(與STOP相反, fg/bg命令)

STOP 19 暫停(同 Ctrl + Z)

5. Linux裡面殺掉進程命令是什麼

方法一: Terminal終端輸入: gnome-system-monitor,就可以打開system monitor

如圖:

然後找到相應進程,右擊選擇kill process就可以了

方法二: 通過kill 進程id的方式可以實現,

首先需要知道進程id, 例如,想要殺死firefox的進程,通過 ps -ef|grep firefox,可以查到firefox的進程id:

然後通過 kill 3781 就可以關閉進程了.

補充: 1. kill -9 來強制終止退出, 例如: kill -9 3781

2.特殊用法:

kill -STOP [pid]
發送SIGSTOP (17,19,23)停止一個進程,而並不消滅這個進程。
kill -CONT [pid]
發送SIGCONT (19,18,25)重新開始一個停止的進程。
kill -KILL [pid]
發送SIGKILL (9)強迫進程立即停止,並且不實施清理操作。
kill -9 -1
終止你擁有的全部進程。

方法三: killall 通過程序的名字,來殺死進程

例如: killall firefox
注意: 該命令可以使用 -9 參數來強制殺死進程, killall -9 firefox

方法四: pkill 通過程序的名字, 直接殺死所有進程
例如: pkill firefox

方法五: 通過xkill 可以殺死圖形程序應用, 例如firefox崩潰無響應,可以使用該命令.
例如: 用法xkill , 會出現一個白色的x, 然後用滑鼠單擊想要殺死的應用,如圖

以下內容引用自: http://justcoding.iteye.com/blog/1931347

◆編者註:
KILLALL(Section: User (1)/Updated: 1999年9月7日)
———————————————–

NAME (名稱)
killall – 以名字方式來殺死進程

SYNOPSIS (總覽)
killall [-egiqvw] [-signal] name …
killall -l
killall -V

DESCRIPTION (描述)
killall 發送一條信號給所有運行任意指定命令的進程. 如果沒有指定信號名, 則發送SIGTERM.。
信號可以以名字 (如 -HUP ) 或者數字 (如 -1 ) 的方式指定. 信號 0 (檢查進程是否存在)只能以數字方式指定。
如果命令名包括斜杠 (/), 那麼執行該特定文件的進程將被殺掉, 這與進程名無關。
如果對於所列命令無進程可殺, 那麼 killall 會返回非零值. 如果對於每條命令至少殺死了一個進程, killall 返回 0。Killall 進程決不會殺死自己 (但是可以殺死其它 killall 進程)。

OPTIONS (選項)
-e
對 於很長的名字, 要求准確匹配. 如果一個命令名長於 15 個字元, 則可能不能用整個名字 (溢出了). 在這種情況下, killall 會殺死所有匹配名字前 15 個字元的所有進程. 有了 -e 選項,這樣的記錄將忽略. 如果同時指定了 -v 選項, killall 會針對每個忽略的記錄列印一條消息。
-g
殺死屬於該進程組的進程. kill 信號給每個組只發送一次, 即使同一進程組中包含多個進程。
-i
交互方式,在殺死進程之前徵求確認信息。
-l
列出所有已知的信號名。
-q
如果沒有進程殺死, 不會提出抱怨。
-v
報告信號是否成功發送。
-V
顯示版本信息。
-w
等待所有殺的進程死去. killall 會每秒檢查一次是否任何被殺的進程仍然存在, 僅當都死光後才返回. 注意: 如果信號被忽略或沒有起作用, 或者進程停留在僵屍狀態, killall 可能會永久等待。
FILES(相關文件)
/proc proc文件系統的存在位置。
KNOWN bugS (已知 BUGS)
以文件方式殺死只對那些在執行時一直打開的可執行文件起作用, 也即, 混雜的可執行文件不能夠通過這種方式殺死。
要警告的是輸入 killall name 可能不會在非 Linux 系統上產生預期的效果, 特別是特權用戶執行時要小心。
在兩次掃描的間隙, 如果進程消失了而被代之以一個有同樣 PID 的新進程, killall -w 偵測不到。

來源:http://www.ubuntuhome.com/ubuntu-kill-command.html

下面來了解相關命令:

一、查看進程的命令 有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

來源: http://www.cnblogs.com/1024-wusuopuBUPT/archive/2012/02/16/2354132.html

linux中pkill的簡單用法

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

必要參數
-f 顯示完整程序
-l 顯示源代碼
-n 顯示新程序
-o 顯示舊程序
-v 與條件不符合的程序
-x 與條件符合的程序

選擇參數
-p<進程號> 列出父進程為用戶指定進程的進程信息
-t<終端> 指定終端下的所有程序
-u<用戶> 指定用戶的程序

應用方法:

#pkill 正在運行的程序名

舉例:

Java代碼
[root@localhost beinan]# pgrep -l gaim
2979 gaim
[root@localhost beinan]# pkill gaim

也就是說:

kill 對應的是 PID

pkill 對應的是COMMAND

例如在Ubuntu中強制結束一個已成僵屍的名稱為:firefox,PID為:1603的進程,可以如下操作:

方法一:

(1)ctrl+alt+t,調出終端,輸入 top,然後就可以看到現在系統的進程,是按佔用資源從多到少排列的。

找到要關掉的進程,記下該進程第一列的數字編號(假設是xx),然後輸入q,退回終端。

(2)輸入:sudo kill xx(對應剛才的編號)。

方法二:

ctrl+alt+t,調出終端,輸入:sudo pkill firefox

範例1: 殺死指定進程

Java代碼
root@snail-hnlinux:~# ps -A //顯示所有進程
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
……忽略部分
28382 ? 00:00:00 gvfsd-http
28391 ? 00:07:07 software-center
30467 ? 00:00:31 designer-qt4
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:17 gedit
31155 ? 00:00:00 dhclient
31325 ? 00:00:01 sshd
31327 ? 00:00:00 sshd
31400 pts/1 00:00:00 bash
31485 pts/2 00:00:00 bash
3 ? 00:00:00 aptd
31658 pts/1 00:00:00 ps
root@snail-hnlinux:~# pidof sshd //查看與sshd相關進程
31327 31325 2095
root@snail-hnlinux:~# pkill -9 sshd //殺死指定進程

範例2:殺死同義終端下的進程

Java代碼
root@snail-hnlinux:~# pkill -t tty1 //殺死終端1下的所有進程

範例3: 殺死指定用戶進程

Java代碼
root@snail-hnlinux:~# pkill -u hnlinux

範例4:反向選擇

Java代碼
root@snail-hnlinux:~# pkill -vu hnlinux //殺死不屬於hnlinux用戶的所有進程

————————————————
版權聲明:本文為CSDN博主「MrCoderr」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/coderder/article/details/78899823

6. linux kill %1 是什麼意思

Linux kill 命令用於刪除執行中的程序或工作。

kill 可將指定的信息送至程序。預設的信息為 SIGTERM(15),可將指定程序終止。若仍無法終止該程序,可使用 SIGKILL(9) 信息嘗試強制刪除程序。程序或工作的編號可利用 ps 指令或 jobs 指令查看。kill %1這條命令表示殺死一個後台程序,這個後台程序的「工作號碼(jobnumber)」是1號。命令查詢看下圖:

7. linux kill命令

1,Linux中的kill命令用來終止指定的進程(terminateaprocess)的運行,是Linux下進程管理的常用命令。通常,終止一個前台進程可以使用Ctrl+C鍵,但是,對於一個後台進程就須用kill命令來終止,我們就需要先使用ps/pidof/pstree/top等工具獲取進程PID,然後使用kill命令來殺掉該進程。kill命令是通過向進程發送指定的信號來結束相應進程的。在默認情況下,採用編號為15的TERM信號。TERM信號將終止所有不能捕獲該信號的進程。對於那些可以捕獲該信號的進程就要用編號為9的kill信號,強行「殺掉」該進程。


2,常用參數:

-l信號,若果不加信號的編號參數,則使用「-l」參數會列出全部的信號名稱

-a當處理當前進程時,不限制命令名和進程號的對應關系

-p指定kill命令只列印相關進程的進程號,而不發送任何信號

-s指定發送信號

-u指定用戶


3,實例:

徹底殺死進程 kill -9 2954

[root@localhosttest6]#ps-ef|grepvim
root32682884016:21pts/100:00:00viminstall.log
root33702822016:21pts/000:00:00grepvim
[root@localhosttest6]#kill–93268
[root@localhosttest6]#kill3268
-bash:kill:(3268)-沒有那個進程
[root@localhosttest6]#

殺死指定用戶所有進程

kill-9$(ps-ef|greppeidalinux)

kill-upeidalinux

[root@localhost~]#kill-9$(ps-ef|greppeidalinux)
[root@localhost~]#kill-upeidalinux

8. linux系統怎麼kill進程

Linux最常用kill命令來結束進程,但是kill命令需要用進程的PID作為參數。如何知道指定進程的PID呢?如果是通過進程命令的名字來查看對應PID,可以通過ps命令或pstree命令看到它的PID;如果是通過網路監聽埠號查看進程,需要用netstat命令看看埠號對應的進程的PID。
ps命令用於查看系統所有進程,而pstree命令以樹狀顯示進程之間的關系,有助於判斷要殺死哪個進程。記住在它們顯示的結果中記下需要結束的進程PID。ps命令的常用用法是:
ps aux
-a參數表示不與終端有關的進程也顯示出來。
pstree命令的常見用法是:
pstree -Aup
-p參數表示列出進程PID。
netstat命令可以查看監聽埠的進程是哪個,常用的方式是:netstat -tlnp
這條命令的意思是列出系統裡面監聽網路連接的埠號和相應的進程PID。
參數說明:
-t:表示列出TCP連接(也可以加上-u參數表示同時列出UDP網路連接)
-l:表示列出正在網路監聽的服務
關鍵是下面兩個參數:
-n:表示以埠號來顯示
-p:表示列出進程PID
Local Address這一列下面就有埠號,可以看到它對應的PID是多少,還有Program name那一列是進程名字。同樣是要記下需要結束的進程的PID。
知道了指定進程的PID後,就可以用kill命令結束進程了:
kill -9 PID號碼
或者kill -2 PID號碼
-9參數是強制結束進程,而-2參數是相當於用鍵盤組合鍵Ctrl+C的方式正常結束進程。

9. 4-5 Linux 中斷進程 --- kill (kill -2 實驗)

1、信號:傳遞給 Liunx 的事件發生通知機制。

2、kill -l:顯示所有信號。一共有62個信號(沒有32、33)。

3、常用的信號有:

kill -2 PID —— 正常中斷進程(Ctrl + C 一樣)。程序在結束之前,能夠保存相關數據,然後再退出。

kill -9 PID —— 強制殺死一個進程。

kill -15 PID —— 正常方式終止一個程序。中斷進程時應首先用 -15,以便於其能夠預先清理臨時文件和釋放資源。-9 作為最後手段,應對那些失控的進程。

--------------------------------------------------------------------------------

1)、kill -2 中斷後台運行的進程。

紅色下劃線:sleep 10000 & —— 後台運行延時 10000 秒的命令,進程 ID 為1516。

ps -j —— 以作業格式列出進程信息,可以看到 1516 sleep 命令的進程。

(PID:進程 ID、PGID:線程組 ID、SID:會話 ID、TTY:進程運行的終端,標識那個終端控制。(pts遠程終端、tty系統終端)、TIME:進程運行的時間 和 CMD:命令的名稱和參數)。

jobs -l —— 列出後台運行的命令,可以看到 1516 sleep 命令正在後台運行。

黃色下劃線:kill -2 1516 —— 中斷1516 進程。執行成功後,按 Enter 回車系統會給出提示Interrupt 提示(中斷進程)。

藍色方框:ps -j 已查詢不到 1516 sleep 的進程。jobs -l 也沒有後台運行的命令。

2)、kill -2 配合 fg 查看中斷掛起的進程。

紅色下劃線:前台執行 sleep 10000 (延時10000秒)後 ctrl + z 掛起。

黃色下劃線:ps -j 查看進程,可以看到 1344 sleep 進程。jobs -l 查看後台進程 1344 的狀態是stopped 暫停狀態。

藍色下劃線:kill -2 1344 中斷 1344 進程。

綠色下劃線:ps -j 查看進程,仍有 1344 sleep 進程。jobs -l 查看後台進程 1344 的狀態是stopped 暫停狀態。

暫時這樣看,好像 kill -2 並沒有起到中斷進程的作用。

然而,用 fg 把後台的命令調至前台運行時可以發現 1344 sleep 已經被中斷。

紅色下劃線:fg 把已經執行了 kill -2, 狀態為 stopped 的1344 sleep命令調至前台執行。系統也反饋已經調至前台執行。(此時,實際上已經執行了 kill -2 中斷了進程)

黃色方框:ps -j 已經沒有了 1344 sleep 的進程。

藍色方框:jobs -l 後台也沒有指令。

3)、kill -2 配合 bg 查看中斷掛起的進程。

通過上面的思路,kill -2 配合 bg 實驗看看效果。同樣的首先掛起一個命令,狀態為 stopped 暫停。然後用 bg 命令恢復執行。

前面的步驟都是一樣,掛起一個命令。通過 ps 和 jobs 查看進程和後台確認有 1379 的進程,狀態為 stopped 暫停。然後執行 kill-2 中斷進程,再次通過ps 和 jobs 查看進程和後台命令。確認狀態為 stopped  1379 的進程仍然存在。

此時,用 bg 恢復運行掛起的命令,系統提示 sleep 命令已恢復在後台運行。然而通過 ps -j 查看進程會發現 sleep 已經被中斷。jobs -l 查看後台也沒有了運行的 sleep 命令了。

從實驗上看:

1、後台命令運行時(Running),執行 kill -2 可以中斷進程。

2、掛起命令,處於暫停狀態時(Stopped),執行 kill -2 後通過 ps 還可以查詢到進程, jobs還可以查詢到後台命令,狀態仍然是 Stopped 暫停狀態。實際上,用 fg 把暫停的後台進程調至前台運行時,系統反饋 sleep 命令調至前台運行。而再用 ps 查詢不到進程,已經中斷了進程。用 jobs 已經查詢不到後台命令。

3、掛起命令,處於暫停狀態時(Stopped),執行 kill -2 後通過 ps 還可以查詢到進程, jobs還可以查詢到後台命令,狀態仍然是 Stopped 暫停狀態。用 bg 把暫停的後台命令恢復運行時,系統反饋 sleep 命令在後台運行。再用 ps 查詢進程已經中斷,用 jobs 已經查詢不到後台命令。

閱讀全文

與linux系統kill命令相關的資料

熱點內容
python評論樹講解 瀏覽:678
juniper防火牆常用命令 瀏覽:426
vapp怎麼下載地址 瀏覽:11
pdf裡面內容怎麼修改 瀏覽:807
收藏網址加密的瀏覽器 瀏覽:1000
phpurl問號 瀏覽:898
什麼筆記本電腦可以用python 瀏覽:135
加密相冊如何翻找 瀏覽:992
泰州地區DNS伺服器地址 瀏覽:849
一種app可以買菜用英語怎麼說 瀏覽:196
中國聯通app裡面通話詳單怎麼刪除 瀏覽:505
計算機網路編譯軟體 瀏覽:100
程序員說不能說的秘密 瀏覽:700
在線shell編譯器 瀏覽:103
為什麼王者榮耀安卓轉蘋果成功登不上去 瀏覽:710
文件加密演算法可行性報告 瀏覽:60
a3雙面列印pdf 瀏覽:270
被命令文言文 瀏覽:717
c語言編譯器在線菜鳥 瀏覽:215
安卓如何使用華為手機助手 瀏覽:701