デーモン サーバーが特定の process_id で実行されていると仮定します。
したがって、端末からkill process_idコマンドを実行すると、デーモン サーバー プロセスが終了します。この信号を処理するにはどうすればよいですか。
また、デーモンサーバーを中断せずに実行するために、私が世話をする必要がある他のシグナルは何ですか?
編集:オペレーティングシステムUbuntu
の注目すべき例外を除いて、ほぼすべての信号をブロックできますSIGKILL
。
デフォルトでは、kill
コマンドは を送信SIGTERM
しますが、これはブロックできます。
sigaction
システムコールについて読んで、シグナルをブロックする方法を学んでください。
シグナルのシンプルなインターフェースは次のとおりです。
void (*singnal(int signo, void(*func)(int)))(int);
シグナル番号で識別される特定のシグナルに対する処理機能を登録する機能です。