Linux

Reptyr – Déplacement de processus vers un autre écran Shell [Linux]

Sous Linux, lors de l’exécution d’un processus qui nécessite beaucoup de temps, il peut être difficile de l’arrêter à mi-chemin parce que vous manquez de temps ou parce que vous devez rentrer chez vous. Si vous avez déjà rencontré une situation comme celle-ci auparavant, vous devez vraiment vous procurer l’outil Reptyr.

Qu’est-ce que Reptyr ?

L’outil Reptyr est un utilitaire de ligne de commande qui prend un processus en cours d’exécution d’un terminal et le migre vers un autre. En d’autres termes, il répète un processus. Le nom rappelle également un pseudo-terminal, souvent abrégé en « PTY ». Un pseudoterminal, si vous ne le saviez pas, est un outil qui permet de relier entre eux deux processus (un maître et un esclave). Ce que vous écrivez sur l’un se reflète dans l’autre.

Comment fonctionne Reptyr ?

Avec Reptyr, vous pouvez démarrer un processus au travail et le terminer à la maison (si vous utilisez SSH). Il existe d’autres outils similaires à l’outil Reptyr, comme Screenify et Retty, et vous les avez peut-être déjà rencontrés. Cependant, Reptry s’est avéré être meilleur que ses concurrents pour le moment. Il a moins de bugs et est beaucoup plus efficace. Le problème avec ces autres outils est que le terminal de contrôle des processus n’est pas modifié même lorsque le processus est migré. Si vous utilisez Screenify, par exemple, et que vous essayez d’utiliser les commandes « ^c » ou « ^z » sur le nouveau terminal, elles ne fonctionnent pas correctement. C’est parce qu’ils sont exécutés sur le terminal qui a le contrôle pour le moment. Si vous redimensionnez une fenêtre de programme ou essayez la commande « less », cela ne fonctionne pas correctement non plus, car Linux est trompé en pensant que vous utilisez toujours l’ancien terminal.

Psssssst :  Linux est-il un logiciel système ?

Alors, comment fonctionne Reptyr exactement ? Il cible le processus que nous cherchons à migrer à l’aide de l’API ptrace, ouvre un nouveau terminal et utilise « dup2 » pour écraser les anciens descripteurs de fichiers. Reptyr est également différent des autres processus en ce sens qu’il modifie le terminal de contrôle. Vous pouvez consulter le blog officiel pour obtenir les détails, mais cela implique essentiellement de manipuler la fonctionnalité ioctl, TIOCSCTTY sous Linux pour modifier le processus de contrôle.

Installation

Dans une distribution basée sur Ubuntu, vous pouvez utiliser apt-get pour installer l’application :

Déplacer un processus vers un nouvel écran avec Reptyr

Vous pouvez également utiliser Reptyr, avec l’application logicielle GNU Screen (ou une application de multiplexage de terminal similaire), pour déplacer votre processus vers une nouvelle session d’écran. Par exemple, si vous avez un processus en cours et que vous devez redémarrer votre serveur, vous pouvez le transférer vers une nouvelle session d’écran afin de pouvoir y accéder à nouveau après un redémarrage du système. Cela semble utile, non? Alors comment faire exactement ?

Tout d’abord, vous devez suspendre le processus que vous devez migrer. Cela peut être fait de différentes manières – tout dépend du processus que vous exécutez (principalement « ^z » fonctionne). Ensuite, après l’avoir suspendu, vous devez reprendre le processus en arrière-plan. La commande pour cela, est que vous ne saviez pas, est,

Psssssst :  Comment exécuter Microsoft Word dans Ubuntu ?

Ensuite, vous devrez isoler le processus enfant du processus parent. C’est parce que le processus parent sera terminé lors du redémarrage, et vous devez empêcher que cela n’arrive au processus enfant. Pour ce faire, utilisez la commande disown :

Ensuite, vous devrez lancer l’application logicielle de l’écran. C’est en fait un outil assez pratique – il est facile à télécharger, si vous ne l’avez pas. Vous le lancez avec la commande suivante :

Et maintenant, vous devez récupérer le processus que vous essayez de migrer. Veuillez noter que vous avez besoin du PID du processus en cours pour cette commande. Alternativement, vous pouvez utiliser la commande « pgrep ». Si vous connaissez le PID, tapez :

Si vous ne connaissez pas le PID :

Et tu as fini! Vous pouvez maintenant vous déconnecter de votre session sans tuer le processus.

résumer

Reptyr est open source et entièrement gratuit. Il est facile à configurer et à utiliser, alors n’hésitez pas et essayez-le. Je suis sûr que vous le trouverez très pratique.

Crédit image : Techiezone, [email protected]

Cet article est-il utile ? Oui Non

Bouton retour en haut de la page

Adblock détecté

Veuillez désactiver votre bloqueur de publicités pour pouvoir visualiser le contenu de la page. Pour un site indépendant avec du contenu gratuit, c’est une question de vie ou de mort d’avoir de la publicité. Merci de votre compréhension! Merci