linux如何杀死进程_kill

使用信号控制进程:kill
复制代码
kill 可将指定的信息送至程序。
一般地,kill 命令用于删除执行中的程序或工作。在系统运行期间,若发生了如下情况,就需要将这些进程杀死。
·进程展会用了过多的CPU时间
·进程锁住了一个终端,是其他前台进程无法运行
·进程运行时间过长,但没有预期效果或无法正常退出
·进程产生了过多的到屏幕或磁盘文件的输出

kill命令的基本语法如下:

复制代码
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

参数说明

  • -l <信息编号>  若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。

  • -s <信息名称或编号>  指定要送出的信息。

  • 程序\]  \[程序\]可以是程序的PID或是PGID,也可以是工作编号。

复制代码
进程信号是在软件层次上对中断机制的一种模拟,一个进程收到一个信号与处理器收到一个中断请求是一样的。
进程信号是最基本的进程间通信方式:可以在进程之间直接发送,而不需要用户界面;可以在Shell中通过kill命令发送给进程。
复制代码
kill -l   # 使用 kill -l 命令列出所有可用信号
复制代码
编号  信号名
1) SIGHUP 重新加载配置
2) SIGINT 键盘中断Ctrl+C
3) SIGQUIT 键盘退出Ctrl+,类似SIGINT
9) SIGKILL 强制终止,无条件
15) SIGTERM 终止(正常结束),缺省信号
18) SIGCONT 继续
19) SIGSTOP 暂停
20) SIGTSTP 键盘暂停Ctrl+Z

例:

发送9,15信号,观察终端程序状态

复制代码
touch file1 file2
tty  # 终端类型
vim file1   # 新建窗口2
vim file2   # 新建窗口3
ps aux | grep vim
​
#发送9,15信号
kill -15 pid1  # 程序正常关闭,自动保存
kill -9 pid2   # 内存中直接擦除

杀死进程

复制代码
kill pid

强制杀死进程

复制代码
kill -KILL pid

发送 SIGHUP信号

复制代码
kill -HUP pid

彻底杀死进程

复制代码
kill -9 pid

显示信号

复制代码
kill -l
相关推荐
运维有小邓@4 分钟前
如何实现基于角色的访问控制?
运维·网络
天远云服4 分钟前
Go语言高并发实战:集成天远手机号码归属地核验API打造高性能风控中台
大数据·开发语言·后端·golang
范纹杉想快点毕业5 分钟前
嵌入式通信核心架构:从状态机、环形队列到多协议融合
linux·运维·c语言·算法·设计模式
小龙8 分钟前
【Git 报错解决】SSH 公钥认证失败(`Permission denied (publickey)`)
运维·git·ssh
白驹过隙^^9 分钟前
VitrualBox及ubuntu系统安装
linux·运维·ubuntu
可爱又迷人的反派角色“yang”10 分钟前
k8s(一)
linux·运维·网络·云原生·容器·kubernetes
Mqh18076221 分钟前
day61 经典时序模型3
python
我想吃烤肉肉23 分钟前
logger比print优秀之处
python
钱多多_qdd24 分钟前
springboot注解(二)
java·spring boot·后端
神奇小汤圆25 分钟前
MyBatis批量插入从5分钟优化到3秒,我做了这3件事
后端