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!
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.