« Ajouter & garantit qu’une commande survivra à la fermeture du terminal. »
& place seulement un job en arrière-plan du shell courant. La déconnexion, SIGHUP, les flux encore attachés et la politique du shell peuvent toujours l’arrêter.
01Identifie ton terminal
tty
ps -o pid,ppid,pgid,sid,tpgid,tty,stat,cmd -p $$
who
w
Un pseudo-terminal SSH apparaît souvent sous la forme pts/N. Un processus sans terminal affiche généralement ? dans la colonne TTY.
02Observe la session du laboratoire
./module3-processes-software-lab.sh start
./module3-processes-software-lab.sh status
setsid est disponible, le PID parent devient aussi PGID et SID. L’arbre est séparé de la session interactive qui a lancé le script.03Compare les mécanismes
&nohupdisownsetsidtmux/screen04Lance une commande avec nohup
nohup sh -c 'for n in 1 2 3 4 5; do date -u; sleep 2; done' > /tmp/soria-nohup-demo.log 2>&1 &
nohup_pid=$!
printf 'pid=%s
' "$nohup_pid"
ps -o pid,ppid,sid,tty,stat,cmd -p "$nohup_pid"
tail -f /tmp/soria-nohup-demo.log
Quitte tail -f avec Ctrl+C. Le processus suivi reste indépendant du lecteur de journal.
05Utilise une session réattachable
command -v tmux
tmux new-session -s soria-linux
tmux list-sessions
Dans tmux, détache-toi avec Ctrl+b puis d, et reviens avec tmux attach -t soria-linux. Avec screen, les commandes équivalentes sont screen -S soria-linux et screen -r soria-linux.
06Choisis entre session et service
Une session persistante convient à une opération interactive temporaire. Un processus qui doit redémarrer automatiquement, démarrer au boot et être journalisé doit devenir un service systemd, étudié dans le module suivant.
Prépare une opération longue
Choisis entre nohup et tmux pour une copie de données simulée de vingt minutes. Documente les flux, le PID, la manière de suivre l’avancement, la reconnexion et l’arrêt propre.
✓Ce que tu retiens
Un job en arrière-plan, une session persistante et un service ne répondent pas au même besoin. Le bon choix dépend de la reconnexion, du redémarrage, de la supervision et du caractère temporaire ou permanent.