パスワードマネージャアプリケーションを開発していますが、セキュリティ上の理由で終了できないプロセスを開始したいと思います。
さらに、私はこのプログラムがデーモンになることを望んでいません。なぜなら、stdinで読み書きする必要があるからです。
これを行う方法はありますか?
ベストアンサー1
パスワードマネージャを別のユーザーとして実行し、端末(SIGINT
、、、、SIGQUIT
および)で生成された信号を処理/無視/ブロックします。SIGHUP
SIGTSTP
SIGTTIN
SIGTTOU
有効IDが0(root)でない場合、実際のuidおよび保管セットuidは、有効uidとは異なる他のユーザーとして実行されているプロセスにシグナルを送信することができません(=終了)。
すべてのプロセスはまだルートによって終了できます。
詳細については、次を参照してください。殺す(2)。