shell 杀进程

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只要给出进程名的一部分就可以终止进程。

你可能感兴趣的:(shell 杀进程)