`

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脚本中的命令作为批处理运行(因此称为...

    java获取各进程的信息

    `:获取当前系统中的所有进程ID。 - 对每个PID执行以下操作: - 调用`Ps.getInfo(sigarProxy, pid);`获取进程信息。 - 计算CPU使用率:`ProcCpu cpu = sigarProxy.getProcCpu(pid);` - 将CPU使用率添加到进程...

    获取进程列表应用列表,展示进程图标,名称 源码

    在C#编程中,获取进程列表以及展示进程的图标和名称是常见的系统操作。下面将详细解释这个过程涉及的关键知识点。 首先,`ProcessManager.cs` 文件很可能是实现这个功能的主程序类,其中包含了获取系统进程信息并...

    用shell写守护进程

    - **获取进程ID**:使用`$!`可以获取最近一次通过`&`启动的后台进程的PID。 - **等待进程结束**:`wait PID`命令用于等待指定的进程结束,并返回其退出状态。 #### 守护进程设计与实现 守护进程通常需要满足以下...

    Shell编程范例之进程操作-TinyLab原创

    查看进程ID可以通过`pidof`命令完成,例如`pidof sleep`会返回sleep命令的进程ID。 查看进程的内存映像可以通过读取`/proc`文件系统中的特定文件,例如`cat /proc/9298/maps`会显示进程的内存区域布局。内存映像的...

    电信设备-一种获取进程信息的方法及装置.zip

    2. **数据收集**:通过系统调用或API接口,获取进程的详细信息,例如命令行参数、启动时间、父进程ID等。 3. **性能监控**:实时监测进程的CPU使用率、内存占用情况,以及I/O活动,这对于性能优化和问题定位很有...

    Shell脚本获取进程的运行时间

    本文将深入探讨如何使用Shell脚本来获取进程的运行时间,这对于监控和管理系统资源至关重要。 首先,`ps`命令是Linux中用于报告当前系统中进程状态的工具,它提供了多种格式来展示进程的信息。在`ps -p 4260 -o pid...

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

    1. **交互式Bash Shell获取进程PID** 在交互式Bash Shell中,我们可以使用`ps`命令配合`grep`和`awk`来查找特定进程的PID。以下是一些常用的命令组合: - 使用`ps -ef`和`grep`及`grep -v`过滤掉grep自身: ```...

    分享实用监控脚本:使用Shell检查进程是否存在.doc

    在某些情况下,可能有多个用户在同一台服务器上运行相同名字的进程,这就需要我们根据用户名和进程名来精确获取进程ID。以下是一个名为`GetPID`的Shell函数,它接收两个参数,分别是用户名和进程名,然后使用`ps`...

    shell-_-Linux-.zip_shell 进程

    4. **GetProcDes.sh**:此脚本可能是用来获取进程描述信息的,如进程名称、所属用户、运行时间等。它可能使用`ps`命令的 `-o` 参数来定制输出字段,通过`grep`查找特定进程,为故障排查提供信息。 5. **GetProcPid....

    Shell脚本实现Linux系统和进程资源监控

    同样,我们可以用`ps`命令获取进程的内存使用情况。`ps -p <PID> -o %mem`可以显示进程的内存使用百分比。如果需要知道具体的内存大小(如KB或MB),可以结合`grep`和`awk`进一步处理输出。 4. **检测进程句柄使用...

    android系统中调用shell脚本

    每个Android应用都在自己的进程中运行,具有独立的用户ID,这限制了应用之间的相互访问和系统资源的直接操作。因此,要在Android上运行shell脚本,我们通常需要通过Java代码来间接实现。 1. **使用Runtime类**:这...

    Logcat及adb shell命令的bat脚本实现例子

    在`adb shell`下,可以使用`ps`命令列出所有进程,然后根据需求过滤出特定应用的进程ID。例如,`adb shell ps | grep com.example.app`将返回所有属于`com.example.app`应用的进程。 至于`进入shell后继续执行命令...

    Windows Shell扩展编程傻瓜手册大全:上下文菜单扩展

    6. **调试Shell扩展**:由于Shell扩展是在Explorer进程中运行,调试可能比较复杂。使用Visual Studio的调试工具,可以附加到Explorer进程进行调试。 本手册使用的是Visual C++ 6(VC6),但现在已更新至VC7.1...

    精彩编程与编程技巧-如何结束 Shell 所启动的程序?...

    pId = Shell("Command.com", vbNormalFocus) ' 通过 Shell 启动进程并获取进程 ID pHnd = OpenProcess(SYNCHRONIZE, 0, pId) ' 获取进程句柄 Call TerminateProcess(pHnd, 0) ' 结束进程 Call CloseHandle(pHnd) ' ...

    Linux Shell中判断进程是否存在的代码

    它通过读取`/proc`目录下的信息来获取当前运行的进程列表,并根据用户提供的参数进行过滤。在上述示例中,我们使用`pgrep`结合`-f`选项来匹配进程的名字或命令行参数。 ```bash if test $( pgrep -f $1 | wc -l ) -...

    Shell kill tomcat process

    2. **获取进程ID**: 在返回的结果中,找到与Tomcat相关的PID(Process ID),通常是`java`进程。PID是进程的唯一标识符。 3. **安全地停止Tomcat**: 通常,Tomcat会监听一个特定的信号来优雅地关闭,可以使用...

Global site tag (gtag.js) - Google Analytics