Linux系统之kill命令的基本使用
@TOC
一、kill命令介绍
1. kill命令简介
在 Linux 中,kill 命令用于发送信号给进程。默认情况下,kill 命令将发送 TERM 信号,即请求进程正常终止。
2. kill命令的使用场景
kill命令用于终止一个正在运行的进程。下面是使用场景:
进程无响应:当一个进程无响应时,可以使用kill命令将其强制终止。
进程占用资源过多:如果一个进程占用了大量资源,导致系统变慢或者出现其他问题,可以使用kill命令终止它。
进程出现错误:如果一个进程出现了错误,无法正常运行,需要使用kill命令终止它。
进程冲突:如果多个进程之间发生冲突,可以使用kill命令终止其中一个进程,以解决冲突问题。
系统关闭:当需要关闭或重启系统时,可以使用kill命令终止所有运行中的进程,以确保系统安全关闭。
3. kill命令使用注意事项
慎用:kill命令会直接终止进程,因此一定要慎重使用,以免意外终止关键进程导致系统崩溃。
选择正确的进程:使用kill命令时一定要选择正确的进程,否则可能会误杀其他进程或者系统进程。
使用信号:kill命令可以使用不同的信号来终止进程,如果信号不正确可能会导致进程无法正常终止。
尝试优雅关闭:在使用kill命令前,可以尝试发送SIGTERM信号来优雅地关闭进程,如果进程无法正常关闭再使用kill命令强制终止。
确认进程状态:在使用kill命令前,可以使用ps命令确认目标进程的状态,避免误杀。
检查权限:kill命令需要root权限才能杀死其他用户的进程,因此需要确保自己有足够的权限。
二、kill命令的使用帮助
1. 查看kill命令帮助信息
在Linux的命令终端,使用man kill查询kill命令的帮助信息。
man kill
2. kill命令帮助解释
kill命令的帮助解释
kill [-s sigspec | -n signum | -sigspec] pid | jobspec ...
kill -l [sigspec]
选项——
-s signal:指定要发送的信号,默认为 TERM 信号
-l:列出所有可用的信号
-p pid:指定要发送信号的进程 ID
-u user:指定要发送信号的用户名称
-n sig 信号名称对应的数字。
-L 等价于-l选项。
参数
pid:进程ID
jobspec:作业标识符
三、kill常用的信号
1. 列出所有的信号
列出所有的信号的名称
[root@docker ~]# 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
2.kill常用的信号
下面是常用的信号,只有第9种信号(SIGKILL)才可以无条件终止进程。
HUP 1 终端挂断
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
KILL 9 强制终止
TERM 15 终止
CONT 18 继续(与STOP相反,fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
四、kill命令的基本使用
1. 运行一个后台任务
- 运行一个后台任务进程
[root@docker ~]# sleep 10000 &
[1] 13842
- 查看后台运行任务
[root@docker ~]# jobs -l
[1]+ 13842 Running sleep 10000 &
2. 发送停止信号
- 发送 STOP信号,停止进程。
[root@docker ~]# kill -s STOP 13842
[1]+ Stopped sleep 10000
- 发送19信号,停止进程。
[root@docker ~]# kill -s 19 13842
[1]+ Stopped sleep 10000
3. 发送继续信号
发送CONT 信号,使用kill -s CONT (pid)命令。
[root@docker ~]# kill -s CONT 13842
[root@docker ~]# jobs -l
[1]+ 13842 Running sleep 10000 &
发送18信号,继续进程。
[root@docker ~]# kill -s 18 13842
[root@docker ~]# jobs -l
[1]+ 13842 Running sleep 10000 &
4. 发送强制终止信号
- 使用KILL信号,强制终止进程
[root@docker ~]# kill -s KILL 13842
[root@docker ~]# jobs
[1]+ Killed sleep 10000
- 发送9信号,强制终止进程
kill -9 14991#(PID)
5. 正常终止进程
发送3信号,正常终止进程。
[root@docker ~]# sleep 10000 &
[1] 15418
[root@docker ~]# kill -3 15418
[root@docker ~]# jobs -l
[1]+ 15418 Quit sleep 10000
- 点赞
- 收藏
- 关注作者
评论(0)