`

shell获取进程ID的方法

阅读更多

 

shell获取进程ID的方法:

我知道和实践过的有这么三种:

  1.  ps -A |grep "cmdname"| awk '{print $1}'
  2.  pidof "cmdname"
  3.  pgrep "cmdname"

这三种在bash和busybox ash里面的运行结果稍有不同,

第一种完全相同,但是因为调用命令次数较多,性能上是不行的。

第二种: pidof 只能获取程序的文件名匹配到的进程号,在ash中 比如 pidof "usr/bin/telnetd" 和 pidof "telnetd"中结果不一样, 前一种结果为空,但是在bash中执行两者一样。

第三种: pgrep跟1的效果相同,因为是单一命令,比第一种性能要好得多。

所以nanoRC就改进为pgrep。

 

分享到:
评论

相关推荐

    Shell脚本中获取进程ID的方法

    提问: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为...

    linux shell 根据进程名获取pid的实现方法

    在已知进程名(name)的前提下,交互式 Shell 获取进程 pid 有很多种方法,典型的通过 grep 获取 pid 的方法为(这里添加 -v grep是为了避免匹配到 grep 进程): ps -ef | grep name | grep -v grep | awk '{print $...

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

    Liunx中通过进程名查找进程PID可以通过 pidof [进程名] 来查找。...shell中分别根据Pid获取进程名、根据进程名获取Pid 1)查找stardict的pid:pidof stardict 2)根据1)的pid查找进程名: grep “Name

    Linux Shell 如何获取参数的方法

    $$ 是脚本运行的当前进程ID号 $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误 区别:$@, $* 相同点:都是引用所有参数 不同点:$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(” “)包含...

    Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤

    最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于...# 获取tomcat进程ID(其中[grep -w 'tomcat']代码中的tomcat需要替换为你的tomcat文件夹名) Tomca

    Linux shell传递参数实现原理及代码实例

    Shell 传递参数 ...$$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 以多个字符串形式显示所有传递到脚本的参数,如“1” “2” “3” $- 显示Shell使用的当前选项,与set命令功能相同。 $?

    Shell脚本中的位置变量参数(特殊字符)实例讲解

    : 后台运行的最后一个进程的进程 ID号 $@ : 与$#相同,但是使用时加引号,并在引号中返回每个参数 $- : 显示shell使用的当前选项,与 set命令功能相同 $? : 显示最后命令的退出状态。 0表示没有错误,其他任何值...

    PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码

    $process = proc_open($command, array... //pid就是进程ID,至于为什么要加1,我现在也没有搞懂,经过多次的测试,发现$var[‘pid’]得到的ID比实际的少1 $pid = intval($var[‘pid’])+1; //杀死进程 proc_close(pr

    UNIX命令格式

    which查找某个命令的所在地,获取到的信息不详细 ...进程号 伪终端号 占用cpu的时间 shell 3490 pts/1 00:00:00 bash -e列出所有进程 -f以长列表形式显示 -aux显示所有包含其他使用者的进程 STAT:显示该进程的状态

    VBA示例之 求人不如自已动手 取得当前激活窗口句柄及标题

    VBA示例之 求人不如自已动手 取得当前激活窗口句柄及标题,供初学者参考,大牛勿进~~~~~~~

    hostid命令 用来打印当前主机的数字化标识

    与该功能相关的Linux命令:rsh命令 – 远端登入的shellps命令 – 显示进程状态startx命令 – 初始化X-windowsmodprobe命令 – 内核模块智能加载工具package-cleanup命令 – 清理本地安装的RPM软件包help命令 – 显示...

    易语言 茶凉专用模块

    模块名称:茶凉专用模块 作者:茶凉 版本:2.0 本模块可以编程更简单,仅仅用核心支持库编写。 @备注: ...官方QQ群:92716369 ------------------------ ...参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , ...

    入门学习Linux常用必会60个命令实例详解doc/txt

    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...

    adb1.0.26包含fastboot.exe

    adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER] 即在 adb shell pm list packages 的基础上可以加一些参数进行过滤查看不同的列表,支持的过滤参数如下: 参数 显示...

    补丁模块(带源码)InlinePatch,Hook,内存DLL注入等等

    子程序 进程取ID, 整数型, 公开, 取指定进程的进程ID(返回第一个进程ID,失败返回空信息) .参数 进程名, 文本型, , 程序进程名(不区分大小写!) .子程序 进程是否存在1, 逻辑型, 公开 .参数 进程ID, 整数型 .子程序 ...

    精通Windows.API-函数、接口、编程实例.pdf

    6.2.1 创建进程、获取进程相关信息、获取启动参数 153 6.2.2 编写控制台程序和图形用户界面应用程序 158 6.2.3 获取和设置环境变量 158 6.3 线程、纤程 162 6.3.1 创建线程、退出线程、获取线程信息 162 ...

    Android 操作系统获取Root权限 原理详细解析

    android root权限破解分析 许多机友新购来的Android机器没有破解过Root权限...下面的代码是android系统原版的su中的部分代码,可以看出只允许getuid()为AID_ROOT和AID_SHELL的进程可以使用su进行登陆。 代码如下:<S

    精通WindowsAPI 函数 接口 编程实例

    6.2.1 创建进程、获取进程相关信息、获取启动参数 153 6.2.2 编写控制台程序和图形用户界面应用程序 158 6.2.3 获取和设置环境变量 158 6.3 线程、纤程 162 6.3.1 创建线程、退出线程、获取线程信息 162 ...

Global site tag (gtag.js) - Google Analytics