kill 命令通常用来 “杀死”(终止)进程,它可以用来终止运行不正常的程序或者反过来拒绝终止的程序。kill 命令准确地说并不是 “杀死” 进程,而是给进程发送信号(signal)。
和文件一样,进程也有所有者,只有进程的所有者(或超级用户)才能使用 kill 命令来向它发送信号。
命令格式
kill [-s signal|-p] [--] pid...
kill -l [signal]
命令参数
-s signal
指定发送的信号。
-l
打印信号的名称列表。
常用信号
信号编号 | 信号名 | 含义 |
1 | HUP | 挂起信号 |
2 | INT | 中断信号 |
3 | QUIT | 退出信号 |
9 | KILL | 杀死信号 |
11 | SEGV | 段错误信号 |
15 | TERM | 终止信号,kill命令默认发送的信号类型 |
18 | CONT | 继续运行信号,恢复之前接受了STOP信号的进程 |
19 | STOP | 暂停信号 |
实例
a) 查看所有信号名称及对应的编号。
[huey@huey-K42JE ~]$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX
b) 暂停 PID 为 57573 的进程。
[huey@huey-K42JE ~]$ ping example.com > /dev/null & [1] 57573 [huey@huey-K42JE ~]$ jobs -l [1]+ 57573 Running ping example.com > /dev/null & [huey@huey-K42JE ~]$ kill -STOP 57573 [1]+ Stopped ping example.com > /dev/null [huey@huey-K42JE ~]$ jobs -l [1]+ 57573 Stopped (signal) ping example.com > /dev/null
c) 终止 PID 为 57622 的进程。
[huey@huey-K42JE ~]$ ping example.com > /dev/null & [1] 57622 [huey@huey-K42JE ~]$ jobs -l [1]+ 57622 Running ping example.com > /dev/null & [huey@huey-K42JE ~]$ kill 57622 [huey@huey-K42JE ~]$ jobs -l [1]+ 57622 Terminated ping example.com > /dev/null
相关命令