网站首页 > 技术教程 正文
kill:kill 是一个 Unix 和 Linux 系统中用于发送信号到进程的命令。尽管名字叫“kill”,但它不仅仅用于终止进程,还可以发送各种信号来控制进程的行为。
一、语法
kill [options] <PID>
- <PID>: 这是目标进程的进程ID(Process ID),是必需的参数。
- options: 用于指定信号类型或其他操作。
二、选项
- -s sig 信号名称。
- -n sig 信号名称对应的数字。
- -l 列出信号名称。如果在该选项后提供了数字那么假设它是信号名称对应的数字。
- -L 等价于-l选项。
- 使用kill -l可查看所有信号
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
- 常见信号解析
kill <PID>:默认情况下,kill 命令会发送 SIGTERM 信号给指定的进程。这是一个请求进程终止的信号,进程可以捕捉这个信号并进行适当的清理操作。
kill -9 <PID>:-9 选项发送 SIGKILL 信号。SIGKILL 会立即终止进程,且进程无法捕捉或忽略这个信号。这通常用于无法正常终止的进程。
kill -15 <PID>:-15 选项发送 SIGTERM 信号(这也是默认信号)。这是一个友好的终止信号,允许进程有时间清理资源。
kill -1 <PID>:-1 选项发送 SIGHUP 信号。这个信号通常用于通知进程重新加载配置文件,有时也用于终止进程并重启它。
kill -0 <PID>:-0 选项不会发送实际信号,但会检查指定的进程是否存在。通常用于检查一个进程是否仍在运行。
kill -l:列出所有可用的信号及其编号。
kill -s <signal> <PID>:-s 选项允许你指定要发送的信号的名称,而不是数字。
三、例子
终止进程:
kill 1234:终止进程 ID 为 1234 的进程。
强制终止进程:
kill -9 1234:强制终止进程 ID 为 1234 的进程,立即停止,无论进程状态如何。
重启进程:
kill -1 1234:发送 SIGHUP 信号给进程,通常用于重新加载配置或重启服务。
检查进程是否存在:
kill -0 1234:检查进程 ID 为 1234 的进程是否存在,不发送实际信号。
判断进程是否存活(如图):
在此处,借助 pidof 来查看 nginx 的进程 pid ,而后通过管道将其传递给 kill -0 。xargs 的效用在于把 pidof 输出的数值置于 kill -0 之后,并把所得结果重定向至 /dev/null 。倘若 echo $? 的输出为 0 ,那么便能够证实进程处于正常存活运行的状态;倘若其输出并非 0 ,则表明进程不存在抑或未存活。一般放置于脚本中查看进程状态,而后可进行重启等操作,重启失败可通过发送邮件、钉钉或企业微信通知运维工程师接入排错。
四、总结
kill 命令是一个非常强大的工具,用于管理和控制系统中的进程。它不仅可以终止进程,还可以发送各种信号来与进程进行交互。因此,理解并正确使用 kill 命令对于系统管理和故障排查至关重要。
猜你喜欢
- 2024-10-15 每个开发者应该了解的 10 个 Linux 命令
- 2024-10-06 滚动 docker 中的 nginx 日志(docker 滚动更新)
- 2024-10-06 「nginx」四、nginx信号控制(nginx-t)
- 2024-10-06 Linux系统之linux命令大全与基本常识基础教程丨致臻数据
- 2024-10-06 linux安装高性能的web服务器nginx
- 2024-10-06 「 原创 」HTTPS 更加安全,但证书贵?手把手教你免费部署HTTPS
- 2024-10-06 Linux实用命令(linux基础使用命令)
- 2024-10-06 Linux进程管理命令ps、pgrep、pkill、top、lsof、kill等详细说明
- 2024-10-06 kill命令以及USR1信号解释(killall -usr1)
- 2024-10-06 十分钟让你学会LNMP架构负载均衡(nlb负载均衡 iis设置)
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)