Linux系统之kill命令的基本使用

一、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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖有缘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值