如何正確使用killall、kill、pkill命令
killall命令詳解在Linux系統(tǒng)中,經(jīng)常需要終止進(jìn)程的運(yùn)行。有時(shí)候,無法通過常規(guī)方法結(jié)束進(jìn)程,就需要強(qiáng)制終止。其中,killall命令用于殺死指定名稱的進(jìn)程。相比于使用kill命令結(jié)合ps和g
killall命令詳解
在Linux系統(tǒng)中,經(jīng)常需要終止進(jìn)程的運(yùn)行。有時(shí)候,無法通過常規(guī)方法結(jié)束進(jìn)程,就需要強(qiáng)制終止。其中,killall命令用于殺死指定名稱的進(jìn)程。相比于使用kill命令結(jié)合ps和grep命令來查找并終止進(jìn)程,killall將這兩個(gè)步驟合而為一,極大地方便了操作。下面是該命令的格式、參數(shù)以及示例:
格式
- killall [參數(shù)] [進(jìn)程名]
命令參數(shù)
- -Z:只殺死擁有scontext的進(jìn)程
- -e:要求匹配進(jìn)程名稱
- -I:忽略大小寫
- -g:殺死進(jìn)程組而不是單個(gè)進(jìn)程
- -i:交互模式,執(zhí)行前詢問用戶
- -l:列出所有已知信號(hào)名稱
- -q:不輸出警告信息
- -s:發(fā)送指定信號(hào)
- -v:報(bào)告信號(hào)是否成功發(fā)送
- -w:等待進(jìn)程終止
- --help:顯示幫助信息
- --version:顯示版本信息
示例
1. 殺死所有同名進(jìn)程:
- `killall nginx`
- `killall -9 bash`
2. 向進(jìn)程發(fā)送指定信號(hào):
- `killall -TERM ngixn`
- `killall -KILL nginx`
kill命令詳解
在Linux中,kill命令用于終止指定進(jìn)程的運(yùn)行。通常情況下,可以通過Ctrl C鍵來終止前臺(tái)進(jìn)程,但對于后臺(tái)進(jìn)程,就需要使用kill命令了。首先需要使用工具如ps、pidof、pstree、top等獲取進(jìn)程PID,然后通過kill命令發(fā)送指定信號(hào)來結(jié)束進(jìn)程。默認(rèn)情況下,采用編號(hào)為15的TERM信號(hào),終止不能捕獲該信號(hào)的進(jìn)程;對于可捕獲該信號(hào)的進(jìn)程,則需使用編號(hào)為9的kill信號(hào)進(jìn)行強(qiáng)制終止。
命令格式
- kill [參數(shù)] [進(jìn)程id]
命令參數(shù)
- -l:列出全部信號(hào)名稱
- -a:處理當(dāng)前進(jìn)程時(shí),不限制命令名和進(jìn)程號(hào)的對應(yīng)關(guān)系
- -p:只打印相關(guān)進(jìn)程的進(jìn)程號(hào),不發(fā)送信號(hào)
- -s:指定發(fā)送信號(hào)
- -u:指定用戶
示例
先使用ps查找進(jìn)程,再用kill命令終止:
```bash
ps -ef | grep vim
kill 3268
```
徹底殺死進(jìn)程命令:
```bash
kill -9 3268
```
pkill命令介紹
pkill與killall類似,用于直接終止運(yùn)行中的進(jìn)程。如果需要終止單個(gè)進(jìn)程,建議使用kill命令。pkill的應(yīng)用方法如下:
- pkill 正在運(yùn)行的進(jìn)程名
示例
終止特定虛擬終端連接用戶的多個(gè)進(jìn)程:
```bash
pkill -kill -t pts/2
```
以上是killall、kill和pkill命令的詳細(xì)介紹及用法。在Linux系統(tǒng)中,正確使用這些命令能夠有效管理進(jìn)程,提高系統(tǒng)的穩(wěn)定性和安全性。