自分のプロセスから別のプロセスに送信されたシグナルのキャプチャ/インターセプトについてはどうしたらよいですか? 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. 傍受ログメッセージslf4j
- 8. Django、シグナルと別のプロセス
- 9. ネームスペースレベルでのNinject傍受?
- 10. パケットデータの傍受と変更
- 11. ユニティ - WCFサービスクラスの傍受?
- 12. Autofac 2.6.1 AOP傍受
- 13. iPhone sdkコール傍受
- 14. ウィンドウを傍受するウィンドウを傍受する
- 15. WCFクライアントからのヘッダーを傍受する方法...?
- 16. Firefoxの拡張機能からhrefでマウスを傍受する
- 17. シグナルをプロセスに送る
- 18. PerlのプロセスにSIGHUPシグナルを送る
- 19. 受信メッセージの場所/受信メッセージを傍受する
- 20. GDBエラー "プログラム受信シグナルEXC_BAD_ACCESS"
- 21. gdb/dddプログラム受信シグナルSIGILL
- 22. Sitefinity、ページングイベントを傍受する
- 23. 傍受されたテキストメッセージandroid
- 24. エラーを傍受して
- 25. XHRを傍受する
- 26. 注射を傍受する
- 27. ユニティ傍受し、WCF RIAドメインサービス
- 28. 他のアプリケーションのモーダルダイアログポップアップを傍受する
- 29. ブラウザリクエストの傍受とサーバレスポンスの変更
- 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