【pkill pgrep】Centos/Linux pkill命令详细介绍

news2024/9/30 0:28:58

简介

        系统版本:Centos7.6

        pkill命令用于杀死一个进程,会根据进程名称和其他属性杀死进程(默认会向进程发送SIGTERM信号,详细请看Linux信号的行为说明),与之相似的命令有killall,与kill命令相比,kill命令需要ps命令的配合查出PID,而pkill命令可以直接根据进程名进行操作,使用起来更为方便。

        从man文件来看pkill与pgrep是绑定在一起的。grep会根据进程名称和其他属性查找进程,并列出匹配所有条件进程的PID。例如:

将名为sshd和属于root的进程列出(这里是都要符合)
> pgrep -u root sshd

将属于root的进程或守护进程列出(这里是符合其一即可)
> pgrep -u root,daemon

 

基础语法

> pkill [option] 进程名
> pgrep [option] 进程名

 

选项介绍

选项选项说明
-signal,--signal定义要发送到每个匹配进程的信号,也可以使用数字或符号信号名称(仅限 pkill)
-c,--count阻断正常输出,而是打印匹配进程的总数。 当 count 与任何内容不匹配时,例如返回零,若匹配该命令将返回非零值。
-d,--delimiter设置用于分隔输出中每个进程 ID 的字符串(默认情况下为换行符),该选项仅限 pgrep
-f,--full该模式通常仅与进程名称匹配,设置 -f 时,请使用绝对路径
-g,--pgroup多个组用“,”做分割。仅匹配列出的进程组 ID 中的进程, 进程组 0 被转换为 pgrep 或 pkill 自己的进程组
-G,--group多个组用“,”做分割。仅匹配列出其真实组 ID 的进程,可以使用数值或符号值
-l,--list-name列出进程名称以及进程 ID,该选项仅限 pgrep
-a,--list-full列出绝对路径以及进程 ID,该命令仅限 pgrep
-n,--newest仅选择最新(最近启动)的匹配进程
-o,--oldest仅选择最旧(最近一直不启动)的匹配进程
-P,--parent多个父进程ID用“,”做分割。仅匹配其父进程 ID 已列出的进程
-s,--session多个会话ID用“,”做分割。仅匹配其进程会话 ID 已列出的进程,会话 ID 0 被转换为 pgrep 或 pkill 自己的会话 ID
-t,--terminal多个终端名称用“,”做分割。仅匹配其控制终端已列出的进程,应指定终端名称,但不应使用“/dev/”前缀
-u,--euid多个有效用户ID用“,”做分割。仅匹配其有效用户 ID 已列出的进程,可以使用数值或符号值
-U,--uid多个真实用户ID用(可登录的)“,”做分割。仅匹配列出真实用户 ID 的进程,可以使用数值或符号值
-v,--inverse否定匹配。 此选项通常在 pgrep 的列表中使用。 在 pkill 的列表中,而 short 选项应被禁用以避免意外使用该选项
-w,--lightweight在 pgrep 的列表中显示所有线程 ID 而不是 PID。 在 pkill 的列表中,此选项被禁用
-x,--exact仅匹配名称(如果指定了 -f,则为命令行)与模式完全匹配的进程
-F,--pidfile从文件中读取 PID,对于 pkill 来说,此选项可能比 pgrep 更有用
-L,--logpidfile如果 -F,--pidfile 未锁定,则失败
--ns匹配属于相同命名空间的进程。需要以 root 身份运行以匹配来自其他用户的进程
--nslist仅匹配提供的命名空间,可用的命名空间:ipc、mnt、net、pid、user、uts
-V,--version显示命令版本信息
-h,--help显示帮助

退出状态

状态码状态说明
0一个或多个进程符合条件
1没有匹配的进程
2命令行中的语法错误
3致命错误:内存不足等

基本用法 

 1、查找属于root的named守护进程的PID

> pgrep -u root named

2、使 syslog 重新读取其配置文件

> pkill -HUP syslogd

3、提供有关所有 xterm 进程的详细信息

> ps -fp $(pgrep -d, -x xterm)

4、 结束所有的 php-fpm 进程

> pkill -9 php-fpm

 

注意事项

1、用于匹配的进程名称限制为 /proc/pid/stat 输出中存在的 15 个字符。

        以sshd的PID为33513为例

> vim /proc/33513/stat

 

2、使用 -f 选项与绝对路径 /proc/pid/cmdline 进行匹配。

        以sshd的PID为33513为例

> ​​​​​​vim /proc/33513/cmdline

 

3、正在运行的 pgrep 或 pkill 进程永远不会将自身报告为匹配项。

4、选项 -n 和 -o 和 -v 不能组合使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1979806.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++学习之路(1)— 第一个HelloWorld程序

C学习之路(1)— 第一个HelloWorld程序 一、前言 C在C语言的基础上添加了对面向对象编程和泛型编程的支持,在 20世纪90年代便是最重要的编程语言之一,并在21世纪仍保持强劲势头。C继承了C语言高效、简洁、快速和可移植性的传统。 …

鸿蒙HarmonyOS开发:常用布局及实用技巧

文章目录 一、概述二、盒子模型三、线性布局(Column/Row)1、space属性2、justifyContent属性3、alignItems属性 四、实用技巧1、Blank组件的使用2、layoutWeight属性的使用 一、概述 布局是指对页面组件进行排列和定位的过程,其目的是有效地…

【STM32】“stm32f10x.h” 头文件的作用

目录 1. 文件结构与头文件保护1.1 头文件保护1.2 包含的头文件 2. 宏定义和常量2.1 系统时钟相关2.2 外设时钟使能2.3 中断优先级 3. 外设寄存器结构体3.1 GPIO 寄存器结构体3.2 RCC 寄存器结构体3.3 USART 寄存器结构体 4. 外设头文件的引入4.1 GPIO 外设头文件4.2 RCC 外设头…

CMU15445 (Fall 2023) Project 3 - Query Execution 思路分享

文章目录 写在前面Task 0 - Read the Source Code算子(executor)如何获取数据,BusTub如何描述算子?ButTub如何存储表的数据,描述表的结构? Task 1 - Access Method ExecutorsSeqScanInsertUpdateDeleteIndexScanOptimizing SeqSca…

Tensorflow训练视觉模型(CPU)

目录 零、模型下载 一、清理C盘 二、 配置环境 三、运行项目前提操作 (1)根据自己的项目设置路径。每次激活虚拟环境(tensorflow115)都得重设一次 (2)执行setup 这个项目的路径移动了位置也需要重设一…

7.17题目练习

目录 1.二叉树的最近公共祖先 2.从前序与中序遍历序列构造二叉树 3.最小k个数 1.二叉树的最近公共祖先 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ class Solution …

余承东再次否认“遥遥领先”禁令:没有罚款一说,被喊烂了

7月29日,问界第四十万台新车在赛力斯超级工厂正式下线。在下线仪式上,华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东再次否认了外界关于其被禁提“遥遥领先”一次的传闻,在谈及问界M9时,他表示,问界M9不…

java基础 之 equals和==的区别

文章目录 浅谈“”特点比较基本类型比较引用类型 浅谈“equals”背景和使用重写equals自定义类为什么需要重写equals方法 总结附录代码及文章推荐 前言: 1、8大基本数据类型,它们的值直接代表了某种数据,不是对象的实例,不能使用n…

DeepSpeed基础及内存优化特性

DeepSpeed 1.基础概念 DeepSpeed是一个由Microsoft 公司开发的开源深度学习优化库,旨在提高大规模模型训练的效率和可扩展性,使研究人员和工程师能够更快地迭代和探索新的深度学习模型和算法。它采用了多种技术手段来加速训练,包括模型并行…

【百度面试算法题】2024-08-02

部门项目实际上也涉及到多种语言,有没有意愿去学习其他语言?你是如何利用数据结构来做技术的/项目中是如何解决高并发的?(没听懂问题…就直接开始介绍项目了…后来被打断说不进行发散了,开始问八股)说一下单…

Visual Studio中gets报错解决方法

1、报错内容 2、visual studio 2015之后就不支持gets了,变成了gets_s,并且后面的括号中也不能单独写一个数组名,还需加上数组内的个数,如下: 问题就解决了

虚拟机如何使用pxe服务实现自动安装系统

一、前提 服务机为rhel7.9 因为我们需要虚拟机为服务器来给要安装系统的虚拟机分配IP 所以要先将VMWare的NAT模式的DHCP自动分配取消,如图: yum install httpd -y systemctl enable --now httpd 二、基于HTTP协议的PXE服务器 1、首先需要进入图形化…

2-55 基于matlab的 永磁同步电机滑膜观测器估算电机转速

基于matlab的 永磁同步电机滑膜观测器估算电机转速。精度比传统观测器精度高。分别输出电机转速估计值与实际值、电机转速估计误差、电机转子位置估计值与实际值、电机转子位置估计误差。程序已调通,可直接运行。 2-55滑膜观测器估算电机转速 - 小红书 (xiaohongsh…

正点原子imx6ull-mini-Linux驱动之Linux SPI 驱动实验(22)

跟上一章一样,其实这些设备驱动,无非就是传感器对应寄存器的读写。而这个读写是建立在各种通信协议上的,比如上一章的i2c,我们做了什么呢,就是把设备注册成一个i2c平台驱动,这个i2c驱动怎么搞的呢&#xff…

PXE:Kickstart自动化安装Linux系统

PXE:工作在 Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。 运行 PXE协议需要设置:DHCP服务器和TFTP服务器。DHCP服务器用来给 PXE client(将要安装系统的主机&…

在使用JSON过程中遇到的一个空间释放问题

在对完成的模块进行空间访问检查中发现了这个问题,这刚开始接触JSON的使用,也不知道他的内部实现,因此该问题找了好久,终于发现是每个节点创建都会自动开辟空间,因此造成空间未成功释放的错误。 JSON未成功替换节点空间…

NVIDIA A100 和 H100 硬件架构学习

目前位置NV各种架构代号: NVIDIA GPU 有多个代号和架构,这些架构对应不同的世代和硬件特性。以下是 NVIDIA 主要 GPU 架构及其计算能力(Compute Capability)代号的简要概述: Tesla 架构 G80、GT200 Compute Capabi…

未授权访问漏洞(漏洞复现合集)

目录 一:Redis未授权访问漏洞 * 步骤一:进入vulhub目录使用以下命令启动靶机... 步骤二:在Kali上安装redis程序进行服务的链接 步骤三:可以直接连接执行命令且不需要认证说明存在未授权访问漏洞...下载以下攻击项目... 步骤四:使用工具执行以下命令获取目标的命…

LeetCode.572.另一棵树的子树

题目描述: 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。…

E24.【C语言】练习:求一个整数存储在内存中的二进制中1的个数(两种方法)

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() {int n 0;int sum 0;scanf("%d", &n);while (n!0){if (n % 2 1)sum;n n / 2;}printf("%d", sum); } 代码可以更简洁 while (n!0)直接写成while (n) 对于正整数&#xff1…