zoukankan      html  css  js  c++  java
  • linux pidof

    转载:http://blog.51osos.com/linux/linux-pidof-command/

    什么是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 //的确如此。

    参数:
    -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 不会出错,但如果不是则有可能返回和给定同名的程序。

    还是看实例吧。

    [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

    延伸:

    pgrep命令可以达到同样的效果,本主不做介绍,51开源社区之前曾详细介绍。

    linux pgrep命令详解:http://bbs.51osos.com/thread-3936-1-1.html

    另个pidof可以结合xargs kill 使用,如

    pidof xxx | xargs kill 当然有时也可以使用killall代替。不过对于nginx可不要这样操作噢,最好还是平滑关闭。

  • 相关阅读:
    Android layout属性大全
    如何看懂Code128条形码
    二维码
    在线条形码生成器
    GS1已分配给国家(地区)编码组织的前缀码
    POJ 3321 Apple Tree DFS序+fenwick
    bootstrap之WaitForIdle&&Clear
    ubuntu14操作系统chrome标签和书签乱码解决
    动态规划-hdoj-4832-百度之星2014初赛第二场
    截取符合指数分布的一部分样本的理论与实验
  • 原文地址:https://www.cnblogs.com/yunsicai/p/3675938.html
Copyright © 2011-2022 走看看