簡體   English   中英

如何從子進程向所有進程發送信號?

[英]How to send a signal to all process from child process?

我正在嘗試使用fork()調用來執行套接字編程示例,我的問題是:當子進程完成一個作業時,我想殺死所有其他進程。 我想如果我向其他人發送信號......這可能還是有人告訴我一個方法?

在partent開始時(在它分叉子節點之前),調用setpgid(0,0) 這將使進程組ID與父進程的PID相同。 此PGID將由每個子進程繼承,並且任何進程都可以通過調用kill(signal, -getpgid(0))向組中的所有進程發送信號。

殺死進程組的常用方法是使用killpg()系統調用。 從手冊頁:

“killpg()將信號sig發送到進程組pgrp。”

與killpg()一起,可能還需要get / setpgid來正確設置組。

你可以用這個:

killpg( 0, SIGNALTYPE);

您可以向所有孩子發送信號。

暫無
暫無

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

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