web-dev-qa-db-fra.com

Où puis-je me procurer Nohup.out si le script démarre au démarrage

test.sh dans/root/folder

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

Maintenant dans le même dossier (/ root/folder). J'ai créé Nohup_test.sh

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

Si vous avez exécuté le fichier ci-dessus comme ceci Nohup sh Nohup_test.sh &. Il fonctionnera en arrière-plan et crée Nohup.out avoir la sortie de test.sh dont on peut tail -f Nohup.out

Maintenant, je veux que le script ci-dessus Nohup_test.sh exécute le démarrage au démarrage (s’exécute automatiquement au démarrage du système d’exploitation).

J'ai créé un autre fichier start.sh dans le même répertoire (/ root/folder /)

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

J'ai suivi une procédure HERE .

  vi /etc/rc.local

Ajouter l'entrée comme ci-dessous

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

Je pense que le script commence (vérifié avec ps aux | grep "Nohup"). Mais je n'ai pas obtenu le fichier Nohup.out. Alors, comment puis-je obtenir ce fichier Nohup.out ou je dois suivre une procédure quelconque? Merci!

2
Veerendra

Ajoutez cd /root/folder en haut de start.sh. Ne faites jamais confiance au répertoire actuel dans les travaux de démarrage.

BTW, c'est trop complexe. Vous n’avez pas besoin de Nohup pour les travaux qui ne sont pas démarrés par un terminal; afin que vous puissiez utiliser dans /etc/rc.local

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

et être fait.

3
Rmano