Linux 命令之 - pidof
命令简介
pidof
命令用于查找指定进程的进程 ID (PID)。它可以根据进程名称、全程序路径或其他条件来查找运行中的进程。该命令在系统管理和进程监控方面有着广泛的应用。
命令格式
1 | pidof [选项] 程序名称 |
参数说明
命令实例
基本用法
1.查找进程 ID
1 | pidof ssh |
这将查找所有正在运行的 ssh
进程的 PID。
2.查找特定用户的进程 ID
1 | pidof -o root sshd |
这将查找由 root
用户启动的 sshd
进程的 PID。
3.查找单个进程 ID
1 | pidof -s firefox |
如果有多个 firefox
进程正在运行,这将只返回其中一个进程的 PID。
4.精确匹配进程名称
1 | pidof -x "/usr/bin/python3" |
这将查找精确命令路径为 /usr/bin/python3
的进程的 PID。
扩展用法
1.结合 kill 命令终止进程
1 | kill $(pidof apache2) |
这将终止所有正在运行的 apache2
进程。
2.在脚本中使用 pidof
1 |
|
这个脚本使用 pidof
命令检查 nginx
进程是否正在运行,并根据结果打印相应的消息。
高级用法
1.使用正则表达式匹配进程名称
1 | pidof $(pgrep -f "^/usr/bin/python3.*script.py") |
这将查找命令行包含 /usr/bin/python3
并运行 script.py
脚本的进程的 PID。它使用了 pgrep
命令来匹配进程名称的正则表达式,然后将结果传递给 pidof
命令获取 PID。
2.排除指定进程
1 | comm -23 <(pidof bash | sort) <(pidof sh | sort) | xargs pidof |
这将查找所有正在运行的进程,但排除 bash
和 sh
进程。它使用 comm
命令找出两个进程列表的差集,然后将结果传递给 pidof
命令获取剩余进程的 PID。
3.获取进程的父进程 ID
1 | pidof -p $(pidof bash) |
这将查找所有 bash
进程的父进程 ID。它首先使用 pidof
获取 bash
进程的 PID,然后将结果传递给 pidof -p
选项获取父进程的 PID。
以上是关于 pidof
命令的详细文档,包括命令简介、语法格式、参数使用说明、演示实例以及扩展和高级使用方法。pidof
命令是一个非常有用的工具,可以方便地查找进程 ID,并与其他命令结合使用实现强大的功能。