開発中の Linux ディストリビューション用のシステム クリティカルなプログラムを作成しています。クラッシュを回避するために、特定の信号を受信したら、それ自体を再起動する必要があります。問題は、再起動後にその信号を再度有効にできないことです。つまり、信号を 2 回受信することはできません。自分自身を execv() した後、新しいプロセスがシグナルをセットアップするために signal() を呼び出すと、SIG_DFL が返されます。毎回。2 回続けて呼び出しても、そもそも設定されていないことを示しています。元のプロセスから引き継がれている奇妙なフラグはありますか?
2865 次