使用bash和regex在一行中查找并終止進(jìn)程我經(jīng)常需要在編程期間殺死進(jìn)程。我現(xiàn)在這樣做的方式是:[~]$ ps aux | grep 'python csp_build.py'user 5124 1.0 0.3 214588 13852 pts/4 Sl+ 11:19 0:00 python csp_build.py
user 5373 0.0 0.0 8096 960 pts/6 S+ 11:20 0:00 grep python csp_build.py[~]$ kill 5124如何自動(dòng)提取進(jìn)程ID并在同一行中終止它?像這樣:[~]$ ps aux | grep 'python csp_build.py' | kill <regex that returns the pid>
3 回答

慕俠2389804
TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
一個(gè)班輪:
ps aux | grep -i csp_build | awk '{print $2}' | xargs sudo kill -9
打印第2欄:
awk '{print $2}'
sudo
是可選的運(yùn)行
kill -9 5124
,kill -9 5373
等等(殺-15更優(yōu)美,但稍慢)
獎(jiǎng)金:
我還有.bash_profile中定義的2個(gè)快捷方式函數(shù)(?/ .bash_profile用于osx,你必須看看哪些適用于你的* nix機(jī)器)。
p 關(guān)鍵字
列出包含關(guān)鍵字的所有P rocesses
使用如:
p csp_build
,p python
等
bash_profile代碼:
# FIND PROCESSfunction p(){ ps aux | grep -i $1 | grep -v grep}
ka 關(guān)鍵字
?頑疾一個(gè)具有此關(guān)鍵字LL工藝
使用如:
ka csp_build
,ka python
等可選的死亡水平如:
ka csp_build 15
,ka python 9
bash_profile代碼:
# KILL ALLfunction ka(){ cnt=$( p $1 | wc -l) # total count of processes found klevel=${2:-15} # kill level, defaults to 15 if argument 2 is empty echo -e "\nSearching for '$1' -- Found" $cnt "Running Processes .. " p $1 echo -e '\nTerminating' $cnt 'processes .. ' ps aux | grep -i $1 | grep -v grep | awk '{print $2}' | xargs sudo kill -klevel echo -e "Done!\n" echo "Running search again:" p "$1" echo -e "\n"}
- 3 回答
- 0 關(guān)注
- 561 瀏覽
添加回答
舉報(bào)
0/150
提交
取消