簡體   English   中英

Shell中管道的作業控制

[英]Job Control with Piping in Shell

我正在用C編寫Shell。我正在嘗試為每個作業設置一個新的流程組。 每個管道的第一個流程成為工作流程組的領導者,其他流程加入領導者流程組。

因此,在這種情況下, cat somefile | wc cat somefile | wccat進程將成為流程負責人。

如何使用setpgid實現此行為? 如果我遍歷每個進程,是否需要存儲第一個fork的pid的值並將其用作組ID,以便在后續循環迭代中在子類中設置適當的進程組ID?

如果我是你,我將使用父級收到的fork()pid並執行setpgid(child_pid,your_gid);。 getpgid(0)可用於返回您的組ID。 使用這兩條信息來執行setpgid()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM