首页 > 系统相关 >【pkill & pgrep】Centos/Linux pkill命令详细介绍

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

时间:2024-08-04 18:24:32浏览次数:13  
标签:匹配 pkill Centos -- pgrep 进程 ID

简介

        系统版本: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 不能组合使用

标签:匹配,pkill,Centos,--,pgrep,进程,ID
From: https://blog.csdn.net/zjw529507929/article/details/140882743

相关文章

  • 阿里云centos8的nginx的安装与运行
    一.centos864位安装运行设置开机自启动nginx服务1、安装gcc安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境。安装指令如下yuminstallgcc-c++2、安装PCREpcre-develNginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包......
  • Centos7,升级OpenSSH(亲测有效适用于小白)
    项目场景:OpenSSH升级,OpenSSH更新,OpenSSH漏洞修复漏洞信息:OpenSSH命令注入漏洞(CVE-2023-51385)以及日常运维升级openssh参考。注意!!!,如果本机未安装telnet建议打开多个SSH终端连接使用top避免设备断链,并安装telnet服务器,确保在SSH服务器升级异常时,可以通过telnet......
  • VirtualBox扩容CentOS-7虚拟机磁盘
    1、背景描述如上图所示,根路径“/”所在的文件系统已没有可用的磁盘空间,需要扩容磁盘。df-h2、VirtualBox操作2.1、查看当前虚拟磁盘的大小如上图所示,点击打开选中的虚拟机的Settings界面。如上图所示,当前虚拟机的虚拟磁盘大小为8GB。2.2、修改虚拟磁盘的大小如......
  • centos7上dpdk绑定vfio-pci失败
    记一次使用dpdk中的报错:运行dpdk/usertools/dpdk-devbind.py-bvfio-pci02:05.0来绑定设备到vfio-pci时,报出了如下错误:Error:bindfailedfor0000:02:05.0-Cannotbindtodrivervfio-pci:[Errno19]NosuchdeviceError:unbindfailedfor0000:02:05.0-Cannot......
  • 轻松搞定 Nginx 在 CentOS 和 Ubuntu 上的安装与配置
    注:这是对我以前博客进行优化后再次发布的,博客中的截图为以前的。原博客已删除。如何安装nginxnginx是一款开源、高性能的Web和反向代理服务器,支持HTTP、HTTPS、SMTP、POP3和IMAP协议。由于其轻量级、资源占用少和强大的并发能力,nginx广泛用于多种场景。本文将介绍如何在CentOS和......
  • CentOS 8 和 Ubuntu 20.04.2 LTS 中,您可以通过不同的方法实现在系统启动时自动运行特
    在CentOS8和Ubuntu20.04.2LTS中,您可以通过不同的方法实现在系统启动时自动运行特定指令或脚本。这里是关于两种方法的解释和区别:###方法一:使用`rc-local.service`**CentOS8示例:** $cat/etc/rc.local_my.sh#!/bin/bash/bin/bash-c"ip-6routeadddefaultvi......
  • centos7 解决docker 拉取镜像错误 error pulling image configuration: download fai
    为什么会出现i/otimeout错误?i/otimeout错误主要是由于网络连接不稳定或者服务器响应慢导致的。当Docker尝试从镜像仓库拉取镜像时,如果在规定时间内没有得到响应,就会出现i/otimeout错误。“错误的根源在于网络连接和镜像仓库的响应速度” 解决方案:换源为了解决这个......
  • 记录一次CentOS/Linux下安装vsftp服务器的过程
    1安装ftp软件yuminstallvsftpd*-y2配置服务启动#启用firewalld服务systemctlstartvsftpd.service#开启vsftpd服务这条命令设置firewalld服务在系统启动时自动启动。systemctlenable命令用于管理系统服务的启动和停止配置。启用服务后,它会在每次系统启动时......
  • centos7 gcc+SCL升级
    1、环境说明[[email protected]]#gcc--versiongcc(GCC)4.8.520150623(RedHat4.8.5-44)Copyright(C)2015FreeSoftwareFoundation,Inc.Thisisfreesoftware;seethesourceforcopyingconditions.ThereisNOwarranty;not......
  • 执行`docker build -f ./dockerfile -t mycentos7:v1 .`时 `RUN yum install -y vim`
    执行dockerbuild-f./dockerfile-t时RUNyuminstall-yvim报错1.报错信息[+]Building0.9s(5/6)......