可以在Linux会话的上下文中将父壳视为背景过程组?

问题描述 投票:0回答:1

现在我有这个过程树:

    SID    PGRP     PID Command
-------------------------------------------------------------
 496410  496410  496410  -bash
 496410  496427  496427   ├─ sleep 100000
 496410  496430  496430   ├─ sleep 100000
 496410  500081  500081   └─ bash -c { sleep 100000 & } && cat && sleep 500000
 496410  500081  500082      ├─ sleep 100000
 496410  500081  500083      └─ cat

从这棵树,我们可以看到

-bash
    是会议的负责人,因为
  • PID == SID

    有4个属于会话的过程组(
    PGRP = 496410, 496427, 496430, 500081

    )。
  • 我有两个问题:

    
    

  • 会话最多可以具有1个前景过程组。在上面的过程树中,这是过程组
500081 bash -c { sleep 100000 & } && cat && sleep 500000

,对吗?

  • 过程组显然是背景过程组,但是会话负责人是否也被认为是

    background过程组的成员(

    496427 sleep 100000
    )?

  • OP中使用的术语:

    Posix

    
        
    	
    OP中提到的the posix的术语是抽象的,很难阅读。相反,您可能需要参考
    496430 sleep 100000.

    对于OP中的问题:

会话最多可以具有1个前景过程组。在上面的进程树中,这是过程组500081 bash -c {sleep 100000&} && cat &&睡500000,对吗?

yes

过程组496427睡眠100000和496430 Sleep 100000显然是背景过程组,但是会话负责人496410 -Bash也被视为背景过程组的成员(496410)?
linux process
1个回答
0
投票
yes

可以通过在496410 -bash

中启用
496410列来确认这些:


man 7 credentials

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.