`

我使用过的Linux命令之pidof - 找出正在运行程序的进程PID

阅读更多

我使用过的Linux命令之pidof - 找出正在运行程序的进程PID

本文链接:http://codingstandards.iteye.com/blog/841123   (转载请注明出处)

用途说明

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 ~]#

 

问题思考

相关资料

【1】hscripts.com Linux pidof 命令? 是什么

【2】阿勃的 blog [翻译] pidof 命令手册

 

返回 我使用过的Linux命令系列总目录

 

0
1
分享到:
评论

相关推荐

    Linux pidof命令使用总结

    一、什么是pidof命令? 代码如下:#man pidof中的解释:pidof — find the process ID of a running program.pidof–用于查找一个运行的...二、pidof命令的参数-s 表示只返回1个 pid-x 表示同时返回运行给定程序的 she

    pidof命令 返回运行程序的进程ID

    当需要终止某个进程时,传统的做法是利用ps命令列出所有的进程,使用grep命令选出目标进程,然后使用kill命令终止进程。 利用pidof命令,可以省略ps与grep组合命令,直接把指定命令的进程ID写入到标准输出。 语法...

    kill命令使用

    通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的...

    linux根据pid获取进程名和获取进程pid(c语言获取pid)

    在linux根目录中,有一个/proc的VFS(虚拟文件系统),系统当前运行的所有进程都对应于该目录下的一个以进程PID命名的文件夹,其中存放进程运行的N多信息。其中有一个status文件,cat显示该文件, 第一行的Name即为...

    三分钟速学linux-进程管理命令

    linux进程命令一、ps -显示进程状态二、pstree – 以树状图显示进程三、pidof – 返回运行程序的进程ID四、 pgrep命令 – 用于检索当前正在运行的进程五、top命令 – 实时显示进程动态六、lsof – 查看进程文件七、...

    ProcessUtils:用于高级进程管理的实用程序(pidfiles,根据比 pidof 更强大的匹配字符串查找 pid)

    进程实用程序用于高级进程管理的实用程序和库(pidfiles,根据比 pidof 更强大的匹配字符串查找 pid)和终止/等待/重新启动应用程序,以及查找有关应用程序的各种信息。 包含多个应用程序作为更强大的替代复杂有时有...

    Linux高级bash编程

    外部过滤器,程序和命令 12.1. 基本命令 12.2. 复杂命令 12.3. 时间/日期 命令 12.4. 文本处理命令 12.5. 文件与归档命令 12.6. 通讯命令 12.7. 终端控制命令 12.8. 数学计算命令 12.9. 混杂命令 13. ...

    python使用标准库根据进程名如何获取进程的pid详解

    特别是有时候需要获取进程的pid,但又无法使用第三方库的时候。下面话不多说了,来一起看看详细的介绍吧。 方法适用linux平台. 方法1 使用subprocess 的check_output函数执行pidof命令 from subprocess import ...

    Advanced Bash-Scripting Guide <>

    12. 外部过滤器,程序和命令 12.1. 基本命令 12.2. 复杂命令 12.3. 时间/日期 命令 12.4. 文本处理命令 12.5. 文件与归档命令 12.6. 通讯命令 12.7. 终端控制命令 12.8. 数学计算命令 12.9. 混杂命令 13. 系统与管理...

    linux全志R16的linux系统编译的资料_20170502_1655.7z

    全志R16平台编译linux系统V1.0.txt 2017/4/11 13:36 (编译请使用编译android的lichee的选项编译生成的.config文件,不然直接编译会报错!!!!) rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar...

    Linux 笔记

     history: (d查询历史执行过的命令 -c 清除历史操作命令)  bash :(执行脚本) 文本编辑 cat :(d 查看文件 -n 带行号) more:(d 文件内容太多时候用 按照百分比显示) tail :(d 查看最后二十行内容 实时...

    psutil:一个跨平台进程和系统工具Python模块-python开发

    快速链接 主页 安装文档 下载 论坛 博客 开发指南 新增功能 摘要 psutil(进程和系统实用程序)是一个跨平台库,用于在 Python 中检索有关正在运行的进程和系统利用率(CPU、内存、磁盘、网络)的信息。 它主要用于...

    Linux计划任务crontab运行脚本不正确的问题

     写好的程序希望在崩溃之后能够自启动,于是利用linux的crontab功能,添加一个计划任务,每分钟执行一个脚本查看需要监控的进程是否还在,如果不在则启动之,否则不做任何事情。这么一个简单的脚本在crontab中运行...

    busybox for windows

    这是一款使Unix命令集合能直接在window上面使用的应用程序。 所含的命令有: [, ar, ash, awk, base64, basename, bash, bbconfig, bunzip2, bzcat, bzip2, cal, cat, catv, chmod, cksum, clear, cmp, comm, cp, ...

    Linux中popen函数的作用小结

     popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这个管道必须由pclose()函数关闭,而不是fclose()函数。pclose()函数关闭标准I/O流,等待命令执行结束,然后...

    psutil-2.0.0.tar.gz

    psutil 是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括 CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现...

    psyscall:Linux syscall() 注入

    使用ptrace(2)以可移植的方式将 Linux syscall() 注入到外部进程。 已在x86(Arch Linux和Ubuntu),ARMv7(Android 6和7),MIPS(Debian),PPC64(Debian)上进行测试。 需要echo 0 | sudo tee /proc/sys/...

    SHELL脚本监控JAVA进程的代码

    if [ -z `pidof java` ]; then echo -e `date +%Y-%m-%d` `date +%R`. “33[31m33[1m(JAVA)Process does not exist! 33[0m” &gt;&gt; /data/logs/java_check.log /usr/local/tomcat/bin/startup.sh &gt;/dev/null 2&gt;&1 ...

    python psutil模块使用方法解析

    psutil(进程和系统实用程序)是一个跨平台的库,用于 在Python中检索有关运行进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。 它主要用于系统监视,分析和限制流程资源以及运行流程的管理。它实现了...

Global site tag (gtag.js) - Google Analytics