【问题标题】:finding the process numbers of a multithread application查找多线程应用程序的进程号
【发布时间】:2016-07-14 08:16:11
【问题描述】:

如何检索已发布的多线程应用程序的进程号?我的意思是,我正在寻找一个 bash 脚本,它在执行命令后将进程号放在一个列表中。例如:

#!/bin/bash
./run_program -nt 4
# find the list of PIDs

【问题讨论】:

  • pstree -p $SOME_PID
  • @xxfelixxx pstree -p $$
  • pstree 显示图形视图。我只想要 PID(数字)
  • 一个多线程进程只有一个进程ID。

标签: linux bash process


【解决方案1】:

我会使用pgrep 来检查进程ID。

如果您只查看当前进程的子 PID,您可以使用-P 选项:

pgrep -P $$

【讨论】:

    【解决方案2】:

    假设run_program 在 ps pid 列表中创建相同的执行路径。

    ARRAY=($(ps -fe | grep run_program | grep -v grep | awk '{print $2}' ORS=' '))
    

    您可以在示例中访问

    echo ${ARRAY[2]}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      • 1970-01-01
      相关资源
      最近更新 更多