web-dev-qa-db-ja.com

起動時にスクリプトが開始する場合、どこでNohup.outを入手できますか

/ root/folderのtest.sh

#!/bin/bash
echo "Hello" #Sample Code

今、同じフォルダー(/ root/folder)にあります。 Nohup_test.shを作成しました

#!/bin/bash
while true
do
    sh /root/folder/test.sh
    sleep 1
done

このNohup sh Nohup_test.sh &のように上記のファイルを実行した場合。バックグラウンドで実行され、Nohup.outを作成します。test.shの出力を使用して、tail -f Nohup.out

ここで、上記のスクリプトNohup_test.shでstart startupを実行したい(OSの起動時に自動的に実行)。

同じディレクトリ(/ root/folder /)に別のファイルstart.shを作成しました

#!/bin/bash
Nohup sh /root/folder/Nohup_test.sh &

1つの手順 HERE に従いました。

  vi /etc/rc.local

以下のようなエントリを追加します

# This script is executed at the end of each multiuser runlevel
/root/folder/start.sh || exit 1   # Added by me
exit 0

スクリプトは開始されていると思います(ps aux | grep "Nohup"でチェック)。しかし、Nohup.outファイルを取得できませんでした。だから、どのようにしてそのファイルを取得することができますかNohup.outまたは手順に従う必要がありますか?ありがとう!

2
Veerendra

cd /root/folderの上部にstart.shを追加します。スタートアップジョブで現在のディレクトリを信頼しないでください。

ところで、これは非常に複雑です。端末によって開始されないジョブにはNohupは必要ありません。 /etc/rc.localで使用できます

/root/folder/Nohup_test.sh > /root/folder/my_output_file.log 2>&1 & 

そして行われます。

3
Rmano