Est-il possible de lancer une commande ou un terminal de sortie de script Bash et PAS d'interrompre une commande?
Ma solution était d'exécuter cron à une heure précise de la journée, mais je suis sûr qu'il y a quelque chose de plus simple.
Est-il possible de lancer une commande ou un terminal de sortie de script Bash et PAS d'interrompre une commande?
Ma solution était d'exécuter cron à une heure précise de la journée, mais je suis sûr qu'il y a quelque chose de plus simple.
Réponses:
Pour éviter que les signaux de sortie ne se propagent aux processus enfants du terminal et du shell, exécutez la commande avec nohup, c'est-à-dire:
nohup cmd &
cmd & disownfonctionne aussi, car le &est traité comme un ;séparateur de commandes. La commande disown supprime la connexion entre la session shell bash et la commande en arrière-plan.
cmd &|.
Si vous souhaitez exécuter une commande ou un fichier spécifique toutes les secondes environ en arrière-plan après avoir quitté le terminal, vous pouvez essayer cette petite chose facile;
nohup watch -n5 'bash script.sh' &
Cela exécuterait scipt.sh toutes les 5 secondes.
Mettez un caractère "&" après votre commande.
par exemple:
/home/your/script.sh &
/home/your/script.sh- car il n'a pas été détaché de son "parent", mais simplement "en arrière-plan". Utilisez nohuppour le détacher pour de vrai.
nohup- qui enregistre également toutes les sorties (désormais invisibles) dans un fichier appelé nohup.outsitué dans le répertoire à partir duquel vous avez démarré la commande.
jobscommande. Très souvent, je veux pouvoir revenir au processus shell après l'avoir mis en arrière-plan.