在虛擬機用腳本跑了幾十個client程序用來測試服務器,然後發現參數設置錯誤,得重來,就傻眼了,不知道怎麼關這麼多client進程,總不能一個一個關。還好,學習一下,想出了以下的命令。
ps -ef|grep client|grep -v grep|cut -c 9-15|xargs kill -9
很快就批量刪掉了client進程
|:管道,左邊的是輸出作右邊的輸入
ps -ef:輸出所有進程的詳細信息
grep client: 挑出ps -ef的輸出中含有client進程
grep -v grep: 在上條挑出的結果中再去掉grep本身,“grep client”這命令也有client不是?
cut -c 9-15: 在挑出的行裁剪第9到第15個字符,結果就是PID(進程號)
xargs kill -9: 因為kill命令不支持管道,所以用xargs命令傳參,個人覺得xargs命令是一個神奇的命令,對編寫單行命令很有幫助,值得學習。
總結:
多思考,linux可以很方便的,別做重復的蠢事。
學一下xargs命令。