CentOS7.3學習筆記總結(二十四)

在工作中,我常常需要終止有問題的進程,一般通過程序的關閉命令把進程關閉掉,這是最安全的方法,但是有些時候,我們無法通過關閉命令把進程結束掉,這時就需要通過殺死進程的方法來結束這個有問題的進程。而殺進程的方法有很多,常見的有killkillallpkill等。最安全的方法是單純使用kill命令。

1kill

使用kill命令需要我們先查到進程的PID,方法:

ps auxf#查到我們需要殺掉的進程PID,由於進程較多,我們通常使用:

ps auxf|grep 進程名

例如:殺掉rpcbind進程

blob.png

Kill殺掉掉rpcbind進程,只殺死父進程,但是子進程還存在,因此仍消耗資源,爲了節約系統資源,以及防止殭屍進程,我們應該在殺死父進程之前,先殺死其所有的子進程

必殺技 kill -9 PID-9kill信號)

此命令是比較危險的,不建議使用,有可能會是系統崩潰,或者系統關機等風險。

信號對照表:

數字

信號

描述

1

HUP

掛起,用來在終端丟失連接的時候通報

2

INT

中斷,當用戶點擊中斷(Ctrl+C)的時候發送

3

QUIT

退出(Ctrl+\),會生成內存轉儲

4

ILL

執行了非法指令. 通常是因爲可執行文件本身出現錯誤, 或者試圖執行數據段. 堆棧溢出時也有可能產生這個信號

5

TRAP

由斷點指令或其它trap指令產生,由debugger使用

6

ABRT

通過C函數abort()發送,爲assert()使用

7

BUS

非法地址, 包括內存地址對齊(alignment)出錯。比如訪問一個四個字長的整數, 但其地址不是4的倍數。它與SIGSEGV的區別在於後者是由於對合法存儲地址的非法訪問觸發的(如訪問不屬於自己存儲空間或只讀存儲空間)

8

FPE

在發生致命的算術運算錯誤時發出,不僅包括浮點運算錯誤,   還包括溢出及除數爲0等其它所有的算術的錯誤

9

KILL

迅速完全終止進程,不能被捕獲,本信號不能被阻塞、處理和忽略

10

USR1

用戶定義的信號1

11

SEGV

試圖訪問未分配給自己的內存, 或試圖往沒有寫權限的內存地址寫數據

12

USR2

用戶定義的信號2

13

PIPE

管道破裂。這個信號通常在進程間通信產生,比如採用FIFO(管道)通信的兩個進程,讀管道沒打開或者意外終止就往管道寫,寫進程會收到SIGPIPE信號。此外用Socket通信的兩個進程,寫進程在寫Socket的時候,讀進程已經終止

14

ALRM

時鐘定時信號, 計算的是實際的時間或時鐘時間。alarm函數使用該信號

15

TERM

常規的終止進程,可以被阻塞和處理

16

STKFLT

(TODO)

17

CHLD

一個子進程剛剛終止或者改變狀態

18

CONT

用SIGSTOP終止後繼續運行

19

STOP

中斷進程,不能被捕獲(Ctrl+Z)

20

TSTP

中斷進程,可以被捕獲

21

TTIN

當後臺作業要從用戶終端讀數據時, 該作業中的所有進程會收到SIGTTIN信號。缺省時這些進程會停止執行

22

TTOU

類似於SIGTTIN, 但在寫終端(或修改終端模式)時收到

23

URG

有"緊急"數據或out-of-band數據到達socket時產生

24

XCPU

CPU超時,這個限制可以由getrlimit/setrlimit來讀取/改變

25

XFSZ

文件大小超過限度

26

VTALRM

虛擬時鐘信號。類似於SIGALRM, 但是計算的是該進程佔用的CPU時間

27

PROF

類似於SIGALRM/SIGVTALRM, 但包括該進程用的CPU時間以及系統調用的時間

28

WINCH

窗口大小改變時發出

29

POLL

(IO)文件描述符準備就緒, 可以開始進行輸入/輸出操作

30

PWR

Power failure

31

SYS

非法的系統調用

 

2killall命令

該命令是殺死一個進程組的所有進程,指定要終止的進程的名字,而不是PID

例如:殺死apache進程

killall httpd

3pkill命令

該命令可以按照進程名殺死進程。pkillkillall應用方法差不多,也是直接殺死運行中的程序;如果您想殺掉單個進程,請用kill來殺掉。

語法

pkill(選項)(參數)

選項

-o:僅向找到的最小(起始)進程號發送信號;

-n:僅向找到的最大(結束)進程號發送信號;

-P:指定父進程號發送信號;

-g:指定進程組;

-t:指定開啓進程的終端。

例:

pkill httpd


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章