Chinaunix首页 | 论坛 | 博客
  • 博客访问: 125702
  • 博文数量: 44
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 407
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-02 21:38
文章分类
文章存档

2015年(1)

2013年(43)

我的朋友

分类: LINUX

2013-02-16 09:19:19

        pidof用于找出正在运行的程序的进程PID(find the process ID of a running program.),程序可以是一个二进制执行程序,也可以是一个shell脚本。如果是找出java程序的进程PID,pidof就无能为力了,可以使 用ps -ef|grep java或jps -l来查看java进程的信息。通常找出进程PID的目的是确认程序是否在运行、或者为了把它杀掉、或者发送一个信号给它。

       

常用参数

格式:pidof program

找出program程序的进程PID,如果有多个就会全部列出,program不能是shell脚本名称。

 

格式:pidof -s program

找出program程序的进程PID,只列出一个。(Single shot - this instructs the program to only return one pid.)

 

格式:pidof -x script

找出shell脚本script的进程PID。

 

参数:-o omitpid

参数:-o omitpid1 -o omitpid2

在列出的进程PID中忽略omitpid。可以有多个。

 

参数:-s

只列出一个。

使用示例

示例一

[root@smsgw root]# pidof pidof
24386
[root@smsgw root]# pidof console

[root@smsgw root]# pidof bash
8681 17650 28223 16840
[root@smsgw root]# pidof man

[root@smsgw root]# pidof java
8882 27498 27482 30945 940 24465 23811 23068 2171 7022 24641 32656 32526
[root@smsgw root]# jps -l
25442 sun.tools.jps.Jps

注:在这台机器上jps似乎不能很好的看java进程信息。
[root@smsgw root]#

 

示例二 查看shell脚本的进程PID

下面演示了怎么查看脚本的PID的,可以发现通过不含路径的脚本文件名称、或者执行时的路径来查看,其他方式不行。

[root@web ~]# ls /opt/imx/imx_web3q/update.sh
/opt/imx/imx_web3q/update.sh
[root@web ~]# ps -ef|grep update.sh
root     17989 17963  0 Dec09 pts/7    00:00:05 /bin/sh ./update.sh
root     29329 28002  0 20:10 pts/2    00:00:00 grep update.sh
[root@web ~]# pidof update.sh

[root@web ~]# pidof -x update.sh
17989
[root@web ~]# pidof -x /opt/imx/imx_web3q/update.sh

[root@web ~]# pidof ./update.sh

[root@web ~]# pidof -x ./update.sh
17989
[root@web ~]#


阅读(1418) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~