[英]How to send a custom event/signal from on process to another process in MacOS
[英]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.