Kill Killall pkill
文章目录
- Kill Killall pkill
- 1 kill
- 1.1 常用功能
- 1.2 命令格式
- 1.3 使用实例
- 1.3.1 列出所有信号名称
- 1.3.2 得到指定信号的数值
- 1.3.3 杀死进程
- 1.3.4 重新加载配置文件
- 1.3.5 日志分割,重新打开日志文件
- 1.3.6 平滑升级,在不关闭的情况下升级
- 1.3.7 彻底杀死进程
- 2 killall
- 2.1 命令格式
- 2.2 killall命令参数
- 2.3 使用实例
- 2.3.1 杀死名为mysqld的所有进程
- 2.3.2 杀死名为mysqld的所有进程,并发送SIGTERM信号
- 2.3.3 杀死名为myprogram的所有进程,并发送SIGKILL信号
- 2.3.4 杀死名为mysqld的所有进程,但不杀死名为mysqld2的进程
- 2.3.5 杀死指定用户所有进程
- 2.3.6 定时杀死进程
- 2.3.7 测试进程是否关闭
- 2.3.8 重新加载进程
- 2.3.9 关闭一组相关进程
- 3 pkill命令
- 3.1 pkill命令格式
- 3.2 命令参数
- 3.3 pkill使用场景及实例
- 3.3.1 杀死所有名为nginx的进程
- 3.3.2 杀死所有以my开头的进程
- 3.3.3 杀死用户moonrong的所有进程
- 3.3.4 杀死所有命令行参数中包含pattern的进程
- 3.3.5 杀死进程组中的所有进程
- 3.3.6 杀死最新的5个匹配进程
- 3.3.7 杀死与指定终端相关的所有进程
- 4 对比
Kill Killall pkill
1 kill
向指定的进程发送信号,用于终止进程或者修改进程的行为
1.1 常用功能
- 终止进程
- 默认发送TERM信号,让进程执行清理操作然后退出
- 修改进程的行为
- 使用HUP信号可以重新加载进程的配置文件
- 使用USR1信号可以让进程执行自定义的操作
- 查看可用信号
- kill命令-l选项列出可用的信号
1.2 命令格式
kill [options] <PID>
选项 | 描述 |
---|---|
-s | 指定要发送的信号,默认为TERM信号 |
-l | 列出可用的信号 |
-[signal] | 发送指定的信号 |
-p | 打印进程ID号,不发送信号 |
-a | 向所有进程发送信号 |
-u | 向指定用户的所有进程发送信号 |
-t | 向指定终端上的所有进程发送信号 |
–help | 显示帮助信息 |
–version | 显示版本信息 |
kill -9 -u username
:向用户名为username的所有进程发送KILL信号。kill -l
:列出所有可用的信号。kill -15 1234
:向进程ID为1234的进程发送TERM信号。kill -a -s HUP
:向所有进程发送HUP信号。
1.3 使用实例
1.3.1 列出所有信号名称
kill -l0:检查进程是否在运行15 SIGTERM:表示终止进程的请求信号,通常用于优雅地停止进程
进程可以忽略该信号,但是可以保存进程踪迹和日志信息9 SIGKILL:表示强制终止进程的信号,不能被阻塞、处理或忽略3 SIGQUIT:表示终止进程的信号,并且保存相关的日志信息2 SIGINT:表示中断进程的信号,通常由CTRL+C键生成,用于终止正在运行的进程1 SIGHUP:表示挂起进程的信号,通常用于重新读取配置文件或重新启动服务10 SIGUSR1和12 SIGUSR2:表示用户自定义的信号,可以用于进程之间的通信或者进行自定义操作
1.3.2 得到指定信号的数值
kill -l [信号名称]e.g
kill -l kill --> 9
kill -l SIGKILL --> 9
Kill -l TERM --> 15
kill -l SIGTERM --> 15
1.3.3 杀死进程
kill -3 PID
kill -s QUIT $(cat /usr/local/nginx/logs/nginx.pid)
1.3.4 重新加载配置文件
kill -1 PID
kill -s HUP PID
1.3.5 日志分割,重新打开日志文件
kill -USR1 nginx
1.3.6 平滑升级,在不关闭的情况下升级
kill -USR2 PID
1.3.7 彻底杀死进程
先查找到进程pid,然后杀死该进程
ps -ef | grep 进程名
kill -9 进程pid
2 killall
用于杀死指定进程名的所有进程
类似kill命令,但可以一次性杀死所有同名进程
2.1 命令格式
killall [选项] 进程名
2.2 killall命令参数
选项 | 描述 |
---|---|
-e | 精确匹配进程名,避免误杀,如果进程名是另一个进程名的子串,那么使用该选项可以确保只杀死该进程名的进程 |
-g | 指定进程组ID,将杀死该进程组中的所有进程 |
-i | 交互式模式,杀死进程前要求用户确认 |
-q | 安静模式,不输出任何信息,只会杀死特定进程 |
-s | 指定信号类型,可以是数字或信号名称,默认情况下,killall命令会向进程发送SIGTERM信号 |
-u | 指定用户名,将杀死该用户所有进程 |
2.3 使用实例
2.3.1 杀死名为mysqld的所有进程
killall mysqld
killall -3 nginx
killall -s QUIT nginx
##可能会误删
2.3.2 杀死名为mysqld的所有进程,并发送SIGTERM信号
killall -s SIGTERM mysqld
2.3.3 杀死名为myprogram的所有进程,并发送SIGKILL信号
killall -s SIGKILL myprogram
2.3.4 杀死名为mysqld的所有进程,但不杀死名为mysqld2的进程
killall -e mysqld
2.3.5 杀死指定用户所有进程
killall -u 用户名
2.3.6 定时杀死进程
例如定时清理系统缓存或定时重启某个服务
可以使用定时任务结合killall实现每天凌晨3点定时重启名为mysqld的服务
crontab -e
0 3 * * * killall -9 mysqld
2.3.7 测试进程是否关闭
killall -0 nginx
echo $?
2.3.8 重新加载进程
killall -1 nginx
killall -s HUP nginx
2.3.9 关闭一组相关进程
例如要关闭所有名为mysql和apache的进程
killall mysql apache
- 有时候某个应用程序可能会启动多个进程,如果想要关闭所有这些进程,可以使用killall命令
- 如果某个进程崩溃了并且无法正常关闭,可以使用killall命令来杀死该进程
- 如果想要关闭某个用户的所有进程,可以使用killall命令
- 有时候多个进程可能是相互关联的,例如数据库服务和Web服务器,如果想要同时关闭它们,可以使用killall命令
- 有时候需要定时杀死某个进程,例如定时清理系统缓存或定时重启某个服务,可以使用定时任务结合killall命令来实现
3 pkill命令
通过进程名或其他属性来查找并杀死进程
3.1 pkill命令格式
pkill [选项] 模式
3.2 命令参数
参数 | 描述 |
---|---|
-f | 匹配进程的整个命令行参数 |
-u | 根据指定的用户ID或用户名查找进程 |
-t | 根据指定的终端号查找进程 |
-x | 仅匹配与指定名称完全相同的进程 |
-n | 仅杀死最新的n个匹配的进程 |
-e | 仅杀死和当前用户相关的进程 |
-p | 杀死指定进程的父进程 |
-g | 杀死指定进程组中的所有进程 |
3.3 pkill使用场景及实例
3.3.1 杀死所有名为nginx的进程
pkill nginx
3.3.2 杀死所有以my开头的进程
pkill '^my'
3.3.3 杀死用户moonrong的所有进程
pkill -u moonrong
3.3.4 杀死所有命令行参数中包含pattern的进程
pkill -f pattern
3.3.5 杀死进程组中的所有进程
pkill -g pgid
3.3.6 杀死最新的5个匹配进程
pkill -n 5 pattern
3.3.7 杀死与指定终端相关的所有进程
pkill -t pts/0
4 对比
命令 | 描述 | 优点 | 缺点 |
---|---|---|---|
kill | 根据PID杀死 | 简单 | 手动查找进程PID |
killall | 根据进程名杀死所有进程 | 可以杀死多个进程 | 会误杀 |
pkill | 根据进程名或其他属性杀死进程 | 根据多种属性杀死进程 | 需要root权限 |
kill命令适用于知道要杀死的进程 PID
killall命令适用于需要杀死多个同名进程时
pkill命令适用于根据不同属性杀死
Kill Killall pkill相关推荐
- kill killall pkill 的区别
kill.pkill.killall 的作用都是终止一个进程或者正在运行的程序. kill.pkill.killall 的用法 kill 通常和grep 一起使用 常用使用方法 kill -9 + 进 ...
- 9.4-6 kill killall pkill
kill:终止进程 能够终止你希望停止的进程. kill 命令的参数选项及说明 -l 列出全部的信号名称 -p 指定kill命令只打印相关进程的进程号,而不发送任何信号 -s 指定要 ...
- Linux进程管理(ps,pgrep,kill,killall,pkill,nohup,bg,fg)
文章目录 Linux进程管理 什么是进程?什么是线程?二者的区别? Linux进程管理命令 ps命令 使用方法案例 ps带减号和不带减号的区别 查看进程树的命令pstree pgrep命令 kill命 ...
- Ubuntu终止进程的方法(kill、pkill、killall)
Ubuntu终止进程的方法(kill.pkill.killall) 博客分类:Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux 用户退出: ...
- 详解linux杀死进程方法:kill、pkill、killall之间的区别及用法!
详解linux杀死进程方法:kill.pkill.killall之间的区别及用法! kill 命令 killall 命令 pkill 命令 kill.pkill.killall之间的区别 kill 命 ...
- linux 命令:grep、egrep、ngrep、kill、pkill、killall
1.grep 帮助:grep --help 用法:grep [OPTION]...patterns[FILE]... 示例:grep -i 'hello world' menu.h main.c ...
- killall 后面信号_killall 、kill 、pkill 命令区别
killall 命令Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死 ...
- pkill mysql_Linux学习28-linux一行命令杀掉指定名称进程(killall 、kill 、pkill)
前言 常见面试题:如何用一句 linux 指令,查找到指定名称的进程并杀掉 常用的杀进程的三个指令:killall .kill .pkill 杀进程几种方式 killall命令用于杀死指定名字的进程( ...
- Linux中kill,pkill,killall和xkill命令汇总讲解
终止一个进程或终止一个正在运行的程式,一般是通过 kill .killall.pkill.xkill 等进行.比如一个程式已死掉,但又不能退出,这时就应该考虑应用这些工具. 另外应用的场合就是在服务器 ...
最新文章
- 17Mediator(中介者)模式
- wxpython多个面板_wxpython:隐藏其中一个拆分窗口面板
- 标定板标定和九点标定的区别_射频导纳物位计的标定方法
- redis学习(一)
- 《HTTP 权威指南》笔记:第十五章 实体与编码
- http请求丢部分数据_温故知新,HTTP/2
- Html转快应用方法,卡片跳转快应用指定页面,如何点返回直接退出快应用回到卡片...
- jdk的selector(1)
- SQLServer2008设置 开启INTERNET远程连接(转)
- 【图像分割】基于matlab GUI类间方差阈值图像分割【含Matlab源码 583期】
- 城管系统服务器,数字城管系统建设方案详细.doc
- flash播放器代码
- 一个免费在线文件处理网站-HEIC转JPG Word转长图 PPT转长图 转成JPG 转成PNG 转成BMP(保姆级图文)
- 06js超级玛丽小游戏
- writeup-khaleesi
- CS5216 Capstone DP to hdmi 1080p转换器或者转接线设计原理|CS5216 DP转HDMI转换电路原理图
- 如何查看同一服务器上挂有多少个网站
- java征兵系统2.0
- linux下终端分屏使用
- 页面底部悬浮广告或关注公众号代码
热门文章
- 计算机组装与维护试题精选,计算机组装与维护试题及答案
- 网页图片实现百叶窗效果
- VUE+Express+MongoDB前后端分离,实现一个便签墙(一)
- C/C++中关于 引用 的功能和使用
- 2021啰里啰嗦的个人总结
- Webhacking writeup By Assassin [随便玩一玩]
- 华为eNSP+抓包Wireshark+虚拟机VirtualBox安装教程
- 解决 unity The option setting ‘android.enableR8=false‘ is deprecated
- Linux CPU 100%问题 | 理解 CPU负载和 CPU使用率
- 浏览器中java在什么位置_win10浏览器安装位置在哪里_如何找到win10浏览器的安装路径...