自分のプロセスから別のプロセスに送信されたシグナルのキャプチャ/インターセプトについてはどうしたらよいですか? C、Ruby、または任意のLinuxパッケージを使用する予定。プロセスからのシグナルの傍受
1
A
答えて
3
システムsignal/sigactionの代わりにシグナルハンドラのインターセプト設定を呼び出し、独自のハンドラを設定するライブラリラッパーを作成できます。受信した信号では、あなたの仕事をして後でユーザーハンドラを呼び出すことができます。ご自分でシステムsignal
/sigaction
ルーチンを置き換えるには、LD_PRELOADを使用してください。
+0
私はこれを試してみます、ありがとう! – RyanScottLewis
1
私はptrace(2)
システムコールがあなたの望むものだと思います。マニュアルから:「信号が無視されても、信号が送られるたびに子供は停止する(例外は通常の効果を持つSIGKILLです)。親は次の待機時に通知されます(2)子プロセスが停止している間、子プロセスを検査し修正することができます。親は子プロセスを継続させ、必要に応じて配信信号を無視します。
関連する問題
- 1. PyQt4:QComboBoxのcurrentIndexChangedシグナルを傍受できますか?
- 2. プロセスの実行を傍受する
- 3. 他のプログラムからのマウスクリックの傍受
- 4. WINDOWSの子プロセスから親プロセスへのシグナルの送信
- 5. WebViewの傍受
- 6. ゴランのプロセスへの応答を傍受する
- 7. 傍受
- 8. プロジェクト請求実行画面の傍受プロセス
- 9. Weblogicデプロイメントの傍受
- 10. Django、シグナルと別のプロセス
- 11. 傍受ログメッセージslf4j
- 12. リコール傍受
- 13. プログラムはシグナルSIGABRTを受けた:プロセスが中止信号
- 14. Windows 10上のASP.NET Core 1.0からのローカルホストトラフィックの傍受
- 15. ユニティ - WCFサービスクラスの傍受?
- 16. ネームスペースレベルでのNinject傍受?
- 17. 動的プロパティの傍受
- 18. PreviewMouseDown SelectedItemChangedイベントの傍受
- 19. WKWebViewの傍受要求
- 20. Bluetoothヘッドセットの傍受ボタン
- 21. ユニセプト例外の傍受 - コンフィグレーション
- 22. パケットデータの傍受と変更
- 23. iPhone sdkコール傍受
- 24. Autofac 2.6.1 AOP傍受
- 25. ウィンドウを傍受するウィンドウを傍受する
- 26. 私のCDialogから来るWM_SIZEメッセージを傍受する方法
- 27. サードパーティのライブラリからURLを傍受して書き直す
- 28. WCFクライアントからのヘッダーを傍受する方法...?
- 29. Firefoxの拡張機能からhrefでマウスを傍受する
- 30. シグナルをプロセスに送る
あなたが探しているstrace(http://en.wikipedia.org/wiki/Strace)のようなものですか? – ascobol
どういう意味なのかよく分かりません。シグナルを送信している場合は、kill(C言語の場合)だけをラップし、送信しているすべてのシグナルを数えます。シグナルが送信された場合、それを傍受することはできず、OSに渡されます。編集:@ascobol:右、彼はそれを外部的に監視することを意味する場合は、Strace、良い点を使用することができます。 – tchap
私の意図は、プロセスがシグナルを送信したときに管理者がフックを入れるプロセス監視デーモンを作成することです。たとえば、 'kill -QUIT worker_master'を送信すると、私は' worker_master'を監視し、 'worker_slaves'を正常にシャットダウンするフックを実装できます。すべてのスレーブが停止した後、実際にはマスタープロセスに 'QUIT'信号を送ります。 – RyanScottLewis