1. kill多个进程
“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
ps -ef | grep curl | grep -v grep | cut -c 15-20 | xargs kill -9
或者
kill -9 `ps -ef|grep “processname” | grep -v "grep"|awk '{print $2} '`
或者
for pid in $(ps -ef | grep curl | grep -v grep | cut -c 15-20); do (获取进程id数组,并循环杀死所有进程)
echo $pid
kill -9 $pid
done
2. ps ef aux 区别
ps aux 是用BSD的格式来显示 java这个进程
显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
ps -ef 是用标准的格式显示java这个进程
显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD
注:
UID 用户ID
PID 进程ID
PPID 父进程ID
C CPU占用率
STIME 开始时间
TTY 开始此进程的TTY
TIME 此进程运行的总时间
CMD 命令名
3. kill -s
$ kill -s 9 1827
其中-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程。各个终止信号及其作用见附录。
4. pgrep 结果仅显示PID
pgrep = ps -ef |grep processname
5. pidof:
pid of xx,字面翻译过来就是 xx的PID
6.知道pgrep和pidof两个命令,
$ pgrep firefox | xargs kill -s 9
7.pkill
pgrep和kill!pkill=pgrep+kill。
8. killall
killall和pkill是相似的,不过如果给出的进程名不完整,killall会报错。pkill或者pgrep只要给出进程名的一部分就可以终止进程。