screen, ou comment eviter de se faire killer une commande
La commande screen permet de lancer un bash, qui en cas de coupure réseau par exemple ne se killera pas mais se détachera et continuera à tourner en arrière plan.
Exemple concret d’utilisation :
– votre hébergeur coupe une session SSH « inactive » pendant 30 minutes, et vous avez un gros traitement à lancer, qui prend plusieurs heures, que vous voulez lancer de nuit
– vous ne voulez pas le lancer en cron pour une raison qui vous est chère
– vous ne voulez pas, toutes les 25 minutes, appuyer sur « entrée » pendant toute la nuit
-> alors il faut utiliser screen !
Utilisation (ma manière de l’utiliser)
Lancer un screen :
screen -S masession
Puis je lance mes commandes dedans :
emerge -av openoffice.org
Puis je quitte ma session, qui continuera à tourner en arrière plan :
Ctrl-a Ctrl-d (ce sont les touches par défaut)
Pour rejoindre plus tard ma session :
screen -r masession
Pour lister les screen en cours :
screen -ls
Pour terminer une session :
se logguer dedans puis « exit » (classique…)
14 décembre 2008
Pour terminer une session :
se logguer dedans puis « exit » (classique…)
ou tout simplement et plus propremement, sans attacher la session (« se logguer »)
pkill -f MaSession
14 décembre 2008
Je ne connaissais pas 🙂
Merci pour l’info 😉
2 septembre 2009
Il y a aussi dans le même esprit la commande « nohup » qui permet de lancer un processus qui ne sera pas interrompu par la fermeture de la console, car son lancement devient indépendant de la console, et on peut suivre les sorties dans le fichier nohup.log créé par la commande 🙂
Après, si on veut stopper le process, kill oblige.
ps -aux|grep nom_du_process
puis
kill -9 pid_du_process (si c’est un processus sans fin par exemple).
voilààà, on sait jamais ça peut dépanner!
3 septembre 2009
Bien le bonjour,
Merci pour ce commentaire très pertinent 😉
Je connaissais la méthode nohup, je l’utilise quand je fais de l’archéologie avec Unixware et que je sais que ma commande va être longue 😉
Mais comme tu dis, ça peut dépanner 😉
Bonne journée