今天GoFace给大家介绍linux pidof命令的用法,pidof命令大家或许很少见过,不过在适当的场合用处还是不小的

一、什么是pidof命令?

代码如下:#man pidof中的解释:

pidof — find the process ID of a running program.

pidof–用于查找一个运行的程序的PID。

pidof is actually the same program as killall5;

[root@GoGo ~]# ls -l /sbin/pidof

lrwxrwxrwx. 1 root root 8 Aug 25 00:40 /sbin/pidof -> killall5 //的确如此。

二、pidof命令的参数

-s 表示只返回1个 pid

-x 表示同时返回运行给定程序的 shell 的 pid

-o 表示告诉 piod 表示忽略后面给定的 pid ,可以使用多个 -o 。

pidof is simply a (symbolic) link to the killall5 program, which should also be located in /sbin.

When pidof is invoked with a full pathname to the program it should find the pid of, it is reasonably safe. Otherwise it

is possible that it returns pids of running programs that happen to have the same name as the program you’re after but are

actually other programs.

如果 是一个 fullpath 则 pidof 不会出错,但如果不是则有可能返回和给定同名的程序。

三、pidof命令使用实例

代码如下:[root@GoGo ~]# pidof nginx

1476 1475 1473 1472 1471 1470 1469 1467 1466

[root@GoGo ~]# ps -ef | grep nginx

nginx 1450 1449 0 20:16 ? 00:00:00 php-fpm: pool www

nginx 1451 1449 0 20:16 ? 00:00:00 php-fpm: pool www

nginx 1452 1449 0 20:16 ? 00:00:00 php-fpm: pool www

nginx 1453 1449 0 20:16 ? 00:00:00 php-fpm: pool www

nginx 1454 1449 0 20:16 ? 00:00:00 php-fpm: pool www

root 1466 1 0 20:16 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf

nginx 1467 1466 0 20:16 ? 00:00:00 nginx: worker process

nginx 1469 1466 0 20:16 ? 00:00:00 nginx: worker process

nginx 1470 1466 0 20:16 ? 00:00:00 nginx: worker process

nginx 1471 1466 0 20:16 ? 00:00:00 nginx: worker process

nginx 1472 1466 0 20:16 ? 00:00:00 nginx: worker process

nginx 1473 1466 0 20:16 ? 00:00:00 nginx: worker process

nginx 1475 1466 0 20:16 ? 00:00:00 nginx: worker process

nginx 1476 1466 0 20:16 ? 00:00:00 nginx: worker process

root 2234 2141 0 20:24 pts/1 00:00:00 grep nginx

[root@GoGo ~]# ps -ef | grep nginx | awk ‘{print $2}’

1450

1451

1452

1453

1454

1466

1467

1469

1470

1471

1472

1473

1475

1476

2237

[root@GoGo ~]# pidof -s nginx

1476

[root@GoGo ~]# pidof sshd

2139 1163

[root@GoGo ~]# ps -ef | grep sshd

root 1163 1 0 20:16 ? 00:00:00 /usr/sbin/sshd

root 2139 1163 0 20:20 ? 00:00:00 sshd: root@pts/1