【问题标题】:Getting PIDs of siblings获取兄弟姐妹的PID
【发布时间】:2016-07-07 17:56:43
【问题描述】:

我正在从另一个 bash 脚本(父级)中启动几个并行 bash 脚本(兄弟)。如何在这些脚本中最好地获取其他兄弟姐妹的 PID?

我可以得到的父进程

ps -p $$ -o ppid --no-heading

但我不知道如何获取它的子进程。

【问题讨论】:

    标签: bash parallel-processing pid siblings


    【解决方案1】:

    试试ps --ppid <parent-process-id>(或)pgrep -P <parent-process-id>

    来自psman页面

    --ppid pidlist 按父进程 ID 选择。这将选择具有 pidlist 中的父进程 ID。也就是说,它选择进程 是 pidlist 中列出的那些的子级。

    对于pgrep

    -P ppid,... 只匹配列出了父进程 ID 的进程。

    【讨论】:

    • 为了完整性,pgrep -P `ps -p $$ -o ppid --no-headingps --ppid `ps -p $$ -o ppid --no-heading` -o "pid" --noheading 获取兄弟姐妹
    • 或更好的pgrep -P $(ps -p $$ -o ppid --no-heading)ps --ppid $(ps -p $$ -o ppid --no-heading) -o "pid" --noheading 得到兄弟姐妹
    猜你喜欢
    • 2014-09-20
    • 2019-05-06
    • 1970-01-01
    • 2012-02-27
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 2019-08-21
    相关资源
    最近更新 更多