Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

151 lines (123 sloc) 3.98 kb
.\" Traduction Laurent GAUTROT <l.gautrot@free.fr> - 2011-08-06
.mso www.tmac
.TH reptyr 1 "03 Feb 2011"
.SH NOM
reptyr \- Reassoccie un programme en cours d'exécution à un nouveau terminal
.SH SYNOPSIS
.B reptyr
.I PID
.B reptyr \-l
.SH DESCRIPTION
.B reptyr
est un utilitaire qui prend un programme en cours d'exécution et
l'attache à un nouveau terminal. Vous avez démarré un programme long à
travers ssh, mais vous devez partir et vous ne voulez pas
l'interrompre\ ? Démarrez simplement un screen, utilisez
.B reptyr
pour l'attraper, puis tuez la session ssh et vous pouvez rentrer à la
maison.
.LP
.B reptyr
fonctionne en s'attachant au programme visé à l'aide de
.BR ptrace (2),
en redirigeant les descripteurs de fichiers appropriés et en modifiant
le terminal de contrôle du programme (Voir
.BR tty (4))
C'est le détail qui fait que
.B reptyr
focntionne bien mieux que les autres programmes du même type, comme
.BR retty (1).
.LP
Après avoir attaché un programme, il apparaît soit à l'arrière-plan,
soit suspendu pour le shell qui l'a lancé (variable en fonction du
shell).
Pour une sécurité maximale, vous pouvez exécuter
.IP
bg; disown
.LP
dans le vieux shell pour supprimer l'association avec le programme,
mais
.B reptyr
tente de s'assurer que le programme visé reste en cours d'exécution
même si vous fermez le shell sans le faire.
.SH OPTIONS
.B \-l
.IP
Plutôt que d'attacher un nouveau processus, crée un couveau couple de
pty, redirige l'extrémité maîtresse vers le terminal en corus, puis
affiche le nom du pty esclave. Il pourra être passé en argument par
exemple à l'option
.I set inferior-tty
de
.B gdb.
.LP
.B \-s
.IP
Par défaut, reptyr déplace tout descripteur de fichier de la cible qui
était connecté au terminal de contrôle vers le nouveau terminal.
L'option
.B -s
fait que reptyr attache les descripteurs de fichiers 0, 1 et 2 sans
condition même si la cible n'a pas de terminal de contrôle ou qu'elle
n'est pas connectée à un terminal.
.LP
.B \-v
.IP
Affiche la version de
.B reptyr
et sort.
.LP
.B \-h
.IP
Affiche un message d'usage et sort.
.LP
.SH NOTES
.B reptyr
dépend de l'appel système
.BR ptrace (2)
pour s'attacher au programme distant. Sur Ubuntu Maverick et suivant
cette possibilité est désactivée par défaut pour des raisons de
sécurité. Vous pouvez l'activer temporairement avec
.IP
# echo 0 > /proc/sys/kernel/yama/ptrace_scope
.LP
en tant que rootn ou de manière permanente en éditant le fichier
.IR /etc/sysctl.d/10-ptrace.conf ,
ui contient aussi plus d'information sur ce réglage.
.SH BUGS
Quand on s'attache à quelques programmes curses, ils ne redessinent
pas immédiatement l'écran, et un
.B ^L
ou équivalent est nécessaire pour forcer l'actualisation.
De la même manière, après avoir attaché certains programmes, le vieux
terminal est dans un état étrange et un
.B clear
ou même un
.B reset
est nécessaire avant que le vieux terminal ne soit à nouveau
utilisable.
L'attachement à rtorrent (et peut-être à d'autres applications) ne
fonctionne pas (rtorrent arrête d'accepter des entrées). Le problème
est que rtorrent utilise epoll pour vérifier l'entrée standard et
qu'on ne met pas à jour la référence interne que le descripteur de
fichier d'epoll a de l'ancien terminal.
L'attachement à un processus avec des fils ne fonctionne pas
correctement. Il devrait être possible de le corriger. Il faut juste
ptracer chaque fils individuellement et de jouer avec lui.
L'attachement à un processus
.BR less (1)
ne fonctionne pas si vous avez un fichier
.I .lessfilter
parce que
.BR less
abandonne un fils zombie dans ce cas. Ça devrait pouvoir être corrigé.
Vous pouvez rapporter des bugs à l'auteur (voir ci-dessous) ou par
l'issue tracker sur
GitHub.
.SH AUTEURS
reptyr est écrit par Nelson Elhage <nelhage@nelhage.com>.
.SH HOMEPAGE
.URL https://github.com/nelhage/reptyr
.SH VOIR AUSSI
.BR neercs (1),
.BR screen (1)
Jump to Line
Something went wrong with that request. Please try again.