快速上手Linux系统pidof命令

pidof 是Linux系统中用来查找正在运行进程的进程号(pid)的工具,功能类似pgrep和ps。pidof命令用于查找指定名称的进程的进程号id号。

如何使用pidof命令

对于基于Red Hat和Debian的发行版,有pidof的不同实现。 在Red Hat发行版中,pidof命令是procps-ng软件包的一部分,而在Debian上,它是sysvinit-utils的一部分。 我们将介绍两种实现方式共有的选项。

pidof命令的语法如下:

pidof [选项] 程序名称

该命令接受零个或多个名称作为参数,但是通常,您只将一个名称传递给pidof。

不带任何选项调用时,pidof将打印与给定名称匹配的所有正在运行的程序的PID。 例如,要查找vim的PID,应运行:

[linuxidc@linux:~/www.linuxidc.com]$ pidof vim4942

如果有名称与sshd匹配的正在运行的进程,则其PID将显示在屏幕上。 如果未找到匹配项,则输出将为空。

输出

4942

当至少一个正在运行的程序与请求的名称匹配时,pidof返回0。 否则,退出代码为1。在shell脚本中使用时,这很有用。

为确保仅显示要搜索的程序的PID,请使用该程序的完整路径名作为参数。 例如,如果您在两个不同的目录中有两个同名的运行程序,则pidof将显示两个运行程序的PID。

默认情况下,显示匹配的正在运行程序的所有PID。 使用-s选项强制pidof只显示一个PID:

$pidof -s 程序名称

-o选项允许您从命令输出中排除具有给定PID的进程:

$pidof -o pid 程序名称

当使用-o选项调用pidof时,可以使用名为%PPID的特殊PID来表示调用Shell程序或Shell脚本。

要仅返回使用相同根目录运行的进程的PID,请使用-c选项。

该选项仅适用于以root或sudo用户身份运行的pidof:

$pidof -c pid 程序名称

pidof命令的用法示例

以下示例显示了如何结合使用pidof命令和kill命令来终止程序。

假设Firefox浏览器已无响应,并且您需要终止Firefox进程。 首先,使用pidof查找PID:

[linuxidc@linux:~/www.linuxidc.com]$ pidof firefox

该命令将打印所有Firefox进程:

输出

5231 5207 5166 5131 5090

一旦知道Firefox处理了PID,就发送SEGTERM信号终止所有PID:

[linuxidc@linux:~/www.linuxidc.com]$ sudo kill -9 5231 5207 5166 5131 5090

您还可以使用命令替换表达式(…),用一个命令终止程序:

[linuxidc@linux:~/www.linuxidc.com](pidof firefox)

总结

pidof命令用于查找特定正在运行的程序的PID。

pidof是一个简单的命令,没有太多选项。 通常,您只会使用要搜索的程序的名称来调用pidof。

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/6337.html

(0)
晴川运维晴川运维
上一篇 2025年6月8日
下一篇 2025年6月8日

相关推荐

  • 如何让网站不下线而从 Redis 2 迁移到 Redis 3

    我们在 Sky Betting&Gaming 中使用 Redis 作为共享内存缓存,用于那些需要跨 API 服务器或者 Web 服务器鉴别令牌之类的操作。在 Core Tribe …

    Linux系统 2025年10月8日
  • Linux系统zypper命令使用实例

    zypper 是一个简单易用的命令行包管理器,它使用了一个软件包管理库叫做 libzypp 。Zypper 能够操作软件安装源 (比如 Build Service 或 标准 ope…

    Linux系统 2025年6月4日
  • 使用 systemd 作为问题定位工具

    虽然 systemd 并非真正的故障定位工具,但其输出中的信息为解决问题指明了方向。 没有人会认为 systemd 是一个故障定位工具,但当我的 web 服务器遇到问题时,我对 s…

    Linux系统 2025年6月8日
  • NGINX动静分离

    动静分离主要是通过nginx+PHP-FPM来实现,其中nginx处理图片,html等静态的文件,PHP处理动态程序[PHP-FPM] 简单点来说,就是用户在请求的时候,如果只是简…

    Linux系统 2025年9月20日
  • 简单介绍一下机器码与字节码

    什么是机器码 机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据。 通常意义上来理解的话,机器码就是…

    Linux系统 2025年9月16日
  • echo命令使用实例

    echo命令是linux中最基础的命令,也是很常用的命令,特别是在写shell脚本的时候,可能会经常被用到,虽然echo命令非常基础,但是功能还算丰富,本篇文章为大家分享一下ech…

    Linux系统 2025年6月8日
  • Nginx的主要应用场景

    本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢…

    Linux系统 2025年10月11日
  • 查看MongoDB版本信息具体方法

    本篇文章重点为大家讲解一下查看MongoDB版本信息具体方法,有需要的小伙伴可以参考一下。 1:连接到MongoDB,使用命令查看。 > db.version();…

    Linux系统 2025年10月7日
  • 通过Go语言制作二维码

    本篇文章重点为大家讲解一下使用Go语言制作二维码具体方法,有需要的小伙伴可以参考一下。 Go语言生成二维码图片 使用Go语言编程时,生成任意内容的二维码是非常方便的,因为我们有go…

    Linux系统 2025年10月24日
  • Linux下安装VMware Tools具体方法

    VMware Tools是VMware Workstation 虚拟机软件的增强工具包,是VMware提供的增强虚拟显卡和硬盘性能、以及同步虚拟机与主机文件的驱动程序,本篇文章重点…

    Linux系统 2025年10月25日

发表回复

登录后才能评论