信号の構文を見ると、信号を別のpid(pid_t)に渡す柔軟性がないことがわかります。プロセスは無視したり、デフォルトを実行したり、アクション自体をカスタマイズすることしかできません。信号を別のプロセスに渡すことができる方法は何ですか? (私はpthreadsについて話していません)。シグナルを他のプロセスに渡すには?
-2
A
答えて
4
あなたはkill(2) system call(ないkill
シェルコマンドを)欲しい:
#include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig);
kill()
システムコールは、任意のプロセス グループもしくはプロセスにシグナルを送信するために使用することができます。pidが正の場合、信号sigは、ID がpidで指定されたプロセスに送信されます。
pidが0の場合、呼び出しプロセスのプロセスグループのすべてのプロセスにsigが送信されます。
pidが-1の場合、プロセス1 (init)を除く、 呼び出しプロセスがシグナルを送信する権限を持つすべてのプロセスにsigが送信されますが、以下を参照してください。
pidが-1より小さい場合、IDが-pidのプロセスグループ 内のすべてのプロセスにsigが送信されます。
sigが0の場合、信号は送信されませんが、エラーチェックはまだ実行されています( )。これはプロセスID またはプロセスグループIDの存在を確認するために使用できます。
man kill
を実行すると、シェルコマンドであるkill(1)が表示されます。システムコールのマニュアルページを入手するには、man 2 kill
を実行します。
関連する問題
- 1. シグナルをプロセスに送る
- 2. PerlのプロセスにSIGHUPシグナルを送る
- 3. プロセスはシグナルをどのように扱いますか?
- 4. Django、シグナルと別のプロセス
- 5. Verilogタスクにシグナル名を渡す
- 6. 他のプロセスがシグナルを受信したときに通知する方法はありますか?
- 7. あるプロセスから別のプロセスに例外を渡すには?
- 8. Djangoのpre_saveシグナルには他に必要ですか?
- 9. カスタムクラスを渡す(シグナルとスロット)
- 10. 子プロセスでSIGINTシグナルを無視する
- 11. プロセスはSIGSEGVシグナルで早期に終了します
- 12. 実行時に子プロセスの終了シグナルを変更する
- 13. オブジェクトをプロセスPythonに渡す
- 14. 他のユーザにメッセージを渡すには?
- 15. 他のビューにデータを渡すには?
- 16. perlの別のプロセスにシグナルを送信できません
- 17. プロセスからのシグナルの傍受
- 18. WINDOWSの子プロセスから親プロセスへのシグナルの送信
- 19. シグナルを使った親プロセスと複数の子プロセスのプロセス同期
- 20. 障害発生時に他のプロセスにフェイルオーバーするスーパーバイザのプロセス
- 21. Darwin/XNU/OSX/macOSのプロセスにシグナルを送ることはできますか?
- 22. Solaris上で自分のプロセスにシグナルを送信したプロセスやプロセスを見つける方法
- 23. 子プロセスのパイプライン処理は、親プロセスへのシグナルでどのように動作しますか?
- 24. サブプロセスから親プロセスへシグナルを送信する方法は?
- 25. シグナルの処理中に同じシグナルをブロックする方法は?
- 26. シグナルRを持つサーバーに配列を渡す
- 27. 他のプロセスに機能を公開
- 28. Popenプロセスに入力を渡す
- 29. 子プロセスにwsオブジェクトを渡すNodeJS
- 30. ノードフラグ/ argsを子プロセスに渡す
「man kill」はあなたの質問に答えますか? – SergeyA
私はシェルコマンドを使用してシグナルを渡すか、またはプロセスを殺すか、シグナルを送信するためにexecを使用するオプションを除外しています – theartist33
@SergeyA私は上記のコメントでkillコマンドを探していません – theartist33