kill命令
作用:
发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。若仍无法终止该程序可用“-kill" 参数,其发送的信号为SIGKILL(9),将强制结束进程,使用ps命令或者jobs命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
用法:
kill [-s signal | -p] [--] pid...
kill -l [signal]
参数:
-a: 当处理当前进程时,不限制命令名和进程号的对应关系;
-l [signal]: 若不加信号编号(signal),将列出目前kill能够使用的信号有(signal)有哪些;
-p: 指定kill 命令只打印相关的进程号,而不发烧任何信号;
-s: [信号名称或编号]: 指定要送出的信号
-u: 指定用户
常用的信号:man 7 signal
每个信号对应一个数字,信号名称以SIG开头(可省略
1) SIGHUP: 无须关闭进程而让其重读配置文件(类似reload)
2) SIGINT: 终止正在运行的进程;相当于Ctrl+c
3) SIGQUIT: 相当于Ctrl+\
9) SIGKILL: 强制杀死正在运行的进程
15) SIGTERM: 终止正在运行的进程
18) SIGCOUNT: 继续运行
19) SIGSTOP: 后台休息
指定信号的方法:
a、信号的数字标识:1, 2, 9
b、信号完整名称:SIGHUP
c、信号的简写名称:HUP
范例:
范例一: 找出当前的bash环境下的后台工作,并强制删除
范例二: 列出所有的信号编号(signal number)及对应的信号名称
范例三: init进程是不可杀的
备注:
init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动
程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所有,init始终是第一个进程(其进程编号始终为1)。其它所有进程都是init进程的子孙。
init进程是不可杀的。
作用:
发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。若仍无法终止该程序可用“-kill" 参数,其发送的信号为SIGKILL(9),将强制结束进程,使用ps命令或者jobs命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
用法:
kill [-s signal | -p] [--] pid...
kill -l [signal]
参数:
-a: 当处理当前进程时,不限制命令名和进程号的对应关系;
-l [signal]: 若不加信号编号(signal),将列出目前kill能够使用的信号有(signal)有哪些;
-p: 指定kill 命令只打印相关的进程号,而不发烧任何信号;
-s: [信号名称或编号]: 指定要送出的信号
-u: 指定用户
常用的信号:man 7 signal
每个信号对应一个数字,信号名称以SIG开头(可省略
1) SIGHUP: 无须关闭进程而让其重读配置文件(类似reload)
2) SIGINT: 终止正在运行的进程;相当于Ctrl+c
3) SIGQUIT: 相当于Ctrl+\
9) SIGKILL: 强制杀死正在运行的进程
15) SIGTERM: 终止正在运行的进程
18) SIGCOUNT: 继续运行
19) SIGSTOP: 后台休息
指定信号的方法:
a、信号的数字标识:1, 2, 9
b、信号完整名称:SIGHUP
c、信号的简写名称:HUP
范例:
范例一: 找出当前的bash环境下的后台工作,并强制删除
[root@centos6 ~]# jobs
[1]+ Stopped ping 127.2
[root@centos6 ~]# kill --9 %1; jobs # 此种写法信号编号前是双横线
-bash: kill: -9: invalid signal specification
[1]+ Killed ping 127.2
范例二: 列出所有的信号编号(signal number)及对应的信号名称
[root@centos6 ~]# 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
范例三: init进程是不可杀的
[root@centos6 ~]# ps -ef | grep init
root 1 0 0 Jul01 ? 00:00:02 /sbin/init
root 7752 7135 0 02:52 pts/2 00:00:00 grep --color=auto init
[root@centos6 ~]# kill -9 1
[root@centos6 ~]# kill -HUP 1
[root@centos6 ~]# ps -ef | grep init
root 1 0 0 Jul01 ? 00:00:02 /sbin/init
root 7756 7135 0 02:53 pts/2 00:00:00 grep --color=auto init
备注:
init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动
程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所有,init始终是第一个进程(其进程编号始终为1)。其它所有进程都是init进程的子孙。
init进程是不可杀的。