Linux/UNIX:查找或确定进程pid是否正在运行
时间:2020-01-09 10:40:11 来源:igfitidea点击:
如何确定我的进程在类似Unix的操作系统上运行?
在使用bash shell的Linux操作系统上,如何获取特定进程的pid号?
PID是Linux或类Unix操作系统上的进程标识号的缩写。
PID在创建时会自动分配给每个过程。一个进程不过是程序的运行实例,并且每个进程在类Unix系统上都有唯一的PID。
找出进程是否正在运行的最简单方法是运行ps aux命令和grep进程名称。
如果您获得输出以及进程名称/pid,则表明您的进程正在运行。
找出进程pid
只需使用ps命令,如下所示:
ps aux | grep {process-name}
例如,找出mysqld进程(mysqld pid)是否正在运行:
$ ps aux | grep mysqld
输出示例:
mysql 28290 1.1 2.7 340496 56812 ? Sl Jul31 348:27 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock
使用pidof查找正在运行的程序的进程ID
pidof命令查找命名程序的进程ID(pids)。
它在屏幕上显示这些ID。
该程序在运行级别更改脚本中使用的某些系统上,特别是当系统具有类似于System-V的rc结构时。
在这种情况下,这些脚本位于/etc/rc?.d中,其中?
是运行级别。
如果系统具有应使用的start-stop-daemon(8)程序。
# pidof mysqld
输出示例:
28290
使用pgrep命令查找PID
pgrep命令搜索正在运行的系统,并显示与给定条件匹配的所有进程的进程ID。
语法为:
pgrep {processNameHere} pgrep firefox pgrep httpd pgrep nginx
输出示例:
4241