Jenkins のビルド ステップから呼び出している bash スクリプトがあります。この bash スクリプト内には、次のような別のスクリプトをバックグラウンドで呼び出すための nohup コマンドがあります。
#!/bin/bash
nohup otherScript.sh &
ビルド ステップが完了した後、nohup.out が作成されたはずのパスに移動しますが、そこには何もありません。何が起こっているかについてのアイデアはありますか?
からの引用man nohup
:
標準入力が端末の場合、/dev/null からリダイレクトします。標準出力が端末の場合は、
nohup.out
可能な場合は出力を追加し、$HOME/nohup.out
そうでない場合は出力を追加します。標準エラーが端末の場合は、標準出力にリダイレクトします。出力を FILE に保存するには、 を使用しますnohup COMMAND > FILE
。
Jenkins からコマンドを実行すると、おそらくSTDOUT
端末ではないため、nohup.out
作成されません。gareth_bowlesが既に提案したように、出力をパスが定義されたファイルにリダイレクトする必要があります。
nohup script.sh >/path/to/output.log 2>&1 &