具体的に送信された信号にプロセスがどのように応答できるかを知っています(例えば、SIGINT
、SIGTERM
、SIGUSR2
など)。しかし、別のプロセスに送られたシグナルをプロセスに通知することはできますか?他のプロセスがシグナルを受信したときに通知する方法はありますか?
答えて
標準のUnixまたはPOSIXでは、別のプロセスに送信された信号について通知することはできません。 signal(7)およびsignal-safety(7)を参照してください。
しかし、waitpid(2)と友人は、child processが信号で終了したかどうかを知ることができます。 killpg(2)は、process groupに信号を送信します(また、kill(2)は、負のターゲットPIDを持つ信号も含みます)。 getrusage(2)はシグナルを数えることができます(他のプロセスによって受信されます)。 proc(5)を使用して、他のプロセスに関する情報を照会することもできます。 signalfd(2)またはptrace(2)などを使用することもできます。
信号はinter-process communicationという非常に限られた形式ではありません。より良い方法があります。
ところで、sigaction(2)はSA_SIGINFO
で使用することができ、その後、あなたのハンドラは、ので、あなたは多くの情報を得るucontext_t
にsiginfo_t
、別のポインタを取得します。
プロセスグループとセッションは関連していることに注意してください。 setpgid(2),setsid(2),credentials(7)も参照してください。また、端末および疑似ttyに関連しています(tty demystifiedおよび約job controlを参照)。
あなたのother質問はこれらについてのことです。しかし、そこには何も言及していません。
総合的な答えをありがとう、これは非常に有用な情報です。 –
あなたはそれを動機付けるために質問を改善できますか? –
- 1. 通知が通知されたときに通知を受け取る方法
- 2. Hyperledgerファブリックでトランザクションが終了したときに通知を受け取る方法はありますか?
- 3. クライアントがサーバー送信イベントから退会したときに通知する方法はありますか?
- 4. リモート通知を受信したときにローカル通知が送信されないのはなぜですか?
- 5. 何かイベント/デリゲートを購読したときに通知を受ける方法はありますか?
- 6. 私のUIImageView.imageプロパティが変更されたときに通知を受ける方法はありますか?
- 7. 他のアプリ通知の通知を受けることができます
- 8. アップルプッシュ通知の受信に問題があります
- 9. bigqueryテーブルが更新されたときに通知を受ける方法やフックはありますか?
- 10. `webview-html`がローカル通知と通信できるようにする方法はありますか?
- 11. 通知を受信したときにメッセージリストを更新する
- 12. ローカル通知が送信されたときにコードを実行する方法はありますか?
- 13. CoreFoundation:バックグラウンドスレッドでの受信/プロセス通知
- 14. プッシュキットを通じて通知を受け取る方法はありますか?
- 15. 通話が終了するたびに通知を受ける方法はありますか
- 16. ブロードキャストがライブのときにYouTube APIから通知を受け取る方法はありますか?
- 17. オブザーバーがNSNotificationCenterから通知を受けたかどうかを知る方法はありますか?
- 18. 通知が受信され、タップまたは無効にされたときにアプリケーションに通知する
- 19. プッシュ通知を受信するとアプリが開きます
- 20. UWPのアンインストール時に通知を受け取る方法はありますか?
- 21. 他のサーバーからデータを受信する方法(プッシュ通知など)
- 22. ユーザーがプライベートメッセージを受信した通知を送信する方法
- 23. iOS(バックグラウンド)とリモート通知を受信したときにデータを送信する
- 24. MIDI送信先または送信元が変更されたときに通知を受け取ります
- 25. プロセスが終了したとき、またはAndroid上で殺されたときに通知を受ける
- 26. プログラムはシグナルSIGABRTを受けた:プロセスが中止信号
- 27. シグナル受信時にgdbに外部通知を送信するにはどうすればよいですか?
- 28. FirebaseとCordovaのアプリケーションでデータ/通知を受信する方法
- 29. 他のアプリのプッシュ通知を傍受することはできますか?
- 30. シグナルを他のプロセスに渡すには?
なぜ尋ねますか? **動機づけするために**あなたの質問を**編集してください。いくつかの臭い[XY問題](http://xyproblem.info) –
私はXY問題が最近受けた注目のファンではありません。あなたの非常に有益な回答とは異なり、多くのSOユーザはOPの質問をすばやく却下し、代わりにOPだけでは手掛かりがないという結論にジャンプします。確かに、OPの質問で*余分な動機は物事を明確にすることができますが、それは短く、簡潔で明確な質問のメリットとバランスをとる必要があります。この質問は短くて明確で、あなたの答えは話題になっており、よく書かれています。将来の読者は、今日ここに書かれたことと、それがその状況に当てはまるかどうかを理解する時間を無駄にするでしょう。 –
私はあなたがいくつかの追加の目標(またはモチベーション)を念頭に置いていると確信しています。あなたはすでに[signal(7)](http://man7.org/linux/man-pages/man7/signal.7.html)を読んでいるはずです。文章(またはそれらのいくつか)でそれらを言及すると、*あなたの質問(IMHOが短すぎます)が*たくさん改善されます。 **なぜ尋ねるのですか?** –