Utilisez la ligne shebang dans votre script python
. Rendez-le exécutable en utilisant la commande,
chmod +x test.py
Utilisez no hangup pour exécuter le programme en arrière-plan même si vous fermez votre terminal,
nohup /chemin/vers/test.py &
ou simplement (sans apporter de modification à votre programme)
nohup python /chemin/vers/test.py &
N'oubliez pas d'utiliser &
pour le mettre en arrière-plan.
Rôle de nohup
: nohup
fait en sorte que votre script ignore SIGHUP
, et redirige stdout/stderr vers un fichier nohup.out, permettant ainsi à la commande de continuer à s'exécuter en arrière-plan après que vous vous êtes déconnecté. Si vous fermez l'invite de commande/terminal ou vous déconnectez, votre commande n'est plus un processus enfant de cet invite de commande. Elle appartient au processus init. Si vous recherchez dans pstree
, vous verrez qu'elle est maintenant possédée par le processus 1 (init).
Pour voir à nouveau le processus, utilisez dans le terminal,
ps ax | grep test.py
Il ne peut pas être ramené au premier plan car le premier plan (comme le terminal est déjà fermé) n'existe plus. Il n'y a donc aucun moyen de récupérer ce terminal une fois qu'il est fermé.