快速上手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日

相关推荐

  • Linux fg命令:把后台命令恢复在前台执行

    前面所讲,都是将工作丢到后台去运行,那么,有没有可以将后台工作拿到前台来执行的办法呢?答案是肯定的,使用  fg 命令即可。 fg 命令用于把后台工作恢复到前台执行,该命…

    Linux系统 2025年6月8日
  • Linux终端中实现大小写字符转换

    Linux终端中提供了一些可以大小写之间转换文本的命令,通过这些命令可以提高我们的工作效率,本篇文章重点为大家讲解一下Linux终端中进行大小写字符转换具体方法。 环境 Cento…

    Linux系统 2025年6月11日
  • 安装Clear Linux详细步骤

    Clear Linux是一份最小主义发行,主要设计理念在于性能和云应用环境。该操作系统以整体方式升级,而不是以一个个软件包的形式。额外的软件包(连同关联的依赖包)可以加入到系统中来…

    Linux系统 2025年6月8日
  • Ubuntu 18.04 LTS部署Rsyslog日志服务

    Rsyslog 是一个 syslogd 的多线程增强版。它提供高性能、极好的安全功能和模块化设计。虽然它基于常规的 syslogd,但 rsyslog 已经演变成了一个强大的工具,…

    Linux系统 2025年6月8日
  • Linux常用命令mmount命令具体使用方法

    Linux mmount命令用于挂入MS-DOS文件系统。 mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内容挂入到Linux目录中。 语法 mmou…

    Linux系统 2025年6月8日
  • 详解Sass 变量

    Sass(Syntactically Awesome StyleSheets)是css的一个扩展开发工具,它允许你使用变量、条件语句等,使开发更简单可维护。 变量用于存储一些信息,…

    Linux系统 2025年6月10日
  • 初次登录 Linux 服务器马上要做的 9 件事

    在将新配置的服务器投入工作之前,请确保你知道你正在使用什么。 当我在 linux 上测试软件时(这是我工作中的一个常规部分),我需要使用多台运行 Linux 的不同架构的服务器。我…

    Linux系统 15小时前
  • 配置ssh-agent免密码认证具体步骤

    ssh-agent是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来…

    Linux系统 2025年6月4日
  • Linux下常见端口转发

    在一些实际的场景里,我们需要通过利用一些端口转发工具,比如系统自带的命令行工具或第三方小软件,来绕过网络访问限制触及目标系统,本篇文章重点为大家分享一下Linux下常见端口转发。 …

    Linux系统 2025年6月8日
  • 浅谈Base64编码原理

    Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于 2的6次方是64,所以每6个比特为一个单元,对应某个可打印字符。3个字节有24个比特,对应于4个Base64…

    Linux系统 4天前

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注