[解決済み] start-stop-daemonで起動したプロセスのstdoutを記録するにはどうすればよいですか?
2022-08-05 18:22:58
質問
initスクリプトを使って、簡単なプロセスを実行しています。
start-stop-daemon --start --quiet --chuid $DAEMONUSER \
--make-pidfile --pidfile $PIDFILE --background \
--exec $DAEMON $DAEMON_ARGS
DAEMONと呼ばれるプロセスは、通常、ログ情報を標準出力に出力します。 私が知る限り、このデータはどこにも保存されていません。
DAEMONの標準出力をどこかのファイルに書き出したい、または追加したいのですが、どうすればよいでしょうか。
私が知っている唯一の解決策は、$DAEMON の代わりにシェルスクリプトを直接呼び出すように start-stop-daemon に指示することです; スクリプトは次に $DAEMON を呼び出し、ログファイルに書き出します。 しかし、これは、デーモン自体を修正するような余分なスクリプトを必要とし、このような一般的なタスクを解決する間違った方法のように思われます。
どのように解決するのですか?
コメントできないので、ypocatさんの回答を拡大します。
start-stop-daemon --start --quiet --chuid $DAEMONUSER \
--make-pidfile --pidfile $PIDFILE --background \
--startas /bin/bash -- -c "exec $DAEMON $DAEMON_ARGS > /var/log/some.log 2>&1"
使用方法
exec
を使ってデーモンを実行すると、stop が bash の親プロセスだけでなく、子プロセスも正しく停止できるようになります。
を使って
--startas
の代わりに
--exec
は、プロセスがその pid によって正しく検出され、start が複数回呼ばれた場合にデーモンの複数のインスタンスを誤って開始しないことを保証します。そうでなければ、start-stop-daemon は /bin/bash プロセスを探し、デーモンを実行している実際の子プロセスを無視します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例