タグ付けされた質問 「start-stop-daemon」

7
SIGTERMシグナルを正常に処理する方法は?
Pythonで書かれたそのような簡単なデーモンがあるとしましょう: def mainloop(): while True: # 1. do # 2. some # 3. important # 4. job # 5. sleep mainloop() そしてstart-stop-daemon、デフォルトでSIGTERM(TERM)シグナルを送信するを使用してデーモン化します--stop。 現在実行されているステップがであるとしましょう#2。そして、この瞬間にTERM信号を送信しています。 実行はすぐに終了します。 を使用してシグナルイベントを処理できることがわかりましたsignal.signal(signal.SIGTERM, handler)が、それでも現在の実行が中断され、コントロールがに渡されhandlerます。 だから、私の質問は-現在の実行を中断せずTERMに、別のスレッド(?)でシグナルを処理shutdown_flag = Trueしmainloop()て、正常に停止するように設定できるようにすることは可能ですか?

10
start-stop-daemonによって開始されたプロセスのstdoutをログに記録するにはどうすればよいですか?
私はinitスクリプトを使用して、以下で始まる簡単なプロセスを実行しています。 start-stop-daemon --start --quiet --chuid $DAEMONUSER \ --make-pidfile --pidfile $PIDFILE --background \ --exec $DAEMON $DAEMON_ARGS $ DAEMONと呼ばれるプロセスは通常、ログ情報を標準出力に出力します。私の知る限り、このデータはどこにも保存されていません。 $ DAEMONのstdoutをどこかのファイルに書き込むか、追加します。 私が知っている唯一の解決策は、$ DAEMONの代わりにシェルスクリプトを直接呼び出すようにstart-stop-daemonに指示することです。次に、スクリプトは$ DAEMONを呼び出し、ログファイルに書き込みます。しかし、これには、デーモン自体を変更するような、このような一般的なタスクを解決するための間違った方法と思われる追加のスクリプトが必要です。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.