1 votes

Comment arrêter un processus en profondeur ?

J'ai un script Python script qui s'exécute depuis longtemps et qui est constamment interrompu par des problèmes de batterie ou par ma propre stupidité. Je peux utiliser ( CTRL - Z ) pour arrêter le processus, puis fg pour le redémarrer, mais pour autant que je sache, cela ne fonctionnera que si je suis dans la même session et qu'il n'a pas été déconnecté.

Existe-t-il un moyen d'arrêter profondément le processus afin que je puisse le redémarrer ultérieurement après une déconnexion sans avoir à recommencer depuis le début ?

1voto

Nicola Corti Points 86

Bien sûr, vous pouvez utiliser écran un multiplexeur terminal, pour résoudre ce problème :

  1. Installer l'écran à partir du terminal : sudo apt-get install screen
  2. Démarrer l'écran avec la commande screen
  3. Vous verrez un message d'information, appuyez sur Espace jusqu'à ce que vous voyiez une invite de terminal.
  4. Démarrez votre script.
  5. Détachez l'instance de l'écran en appuyant sur Ctrl+A et le D bouton.
  6. Vous verrez un message sur l'invite précédente : [detached from 19836.pts-3.ubuntu]
  7. Vous êtes détaché avec succès, vous pouvez vous déconnecter ou faire ce que vous voulez (à moins que vous n'éteigniez la machine ou que vous ne tuiez le processus).

Pour revenir à la session précédente, il suffit de taper screen -r dans un terminal. Vous verrez votre script Python qui fonctionne toujours.

Vous trouverez de plus amples informations sur le site Ubuntu Wiki - Écran

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X