Ich führe gerade ein Backup durch und es muss nun auf ein abnehmbares wie auf tmux
oder übertragen werden screen
. Gibt es eine Möglichkeit, dies zu tun, wenn der Befehl gerade ausgeführt wird?
Ich kann dem Befehl den Hintergrund senden, indem ich Ctrl+ drücke, Zund ihn durch Ausgeben eines fg
Befehls wiederherstellen. aber ich weiß nicht, ob diese Sitzung zurückgehen kann, wenn ich das Terminal verlasse.
command-line
shell
gnu-screen
tmux
Jürgen Paul
quelle
quelle
Antworten:
Das funktioniert meistens:
Voraussetzungen: haben
reptyr
undtmux
/ oderscreen
installiert; Sie können sie mitapt-get
oder findenyum
, abhängig von Ihrer Plattform.Verwenden Sie Ctrl+ Z, um den Vorgang anzuhalten.
Setzen Sie den Vorgang im Hintergrund mit fort
bg
Suchen Sie mit die Prozess-ID des Hintergrundprozesses
jobs -l
Sie werden etwas Ähnliches sehen:
Den Job vom aktuellen Elternteil (Shell) mit abweisen
disown yourprocessname
Start
tmux
(bevorzugt) oderscreen
.Verbinden Sie den Prozess mit reptyr erneut mit
tmux
/screen
session:Jetzt können Sie den Multiplexer trennen (Standard Ctrl+ B, Dfür
tmux
oder Ctrl+ A, Dfürscreen
) und SSH trennen, während Ihr Prozess intmux
/ fortgesetzt wirdscreen
.Wenn Sie sich später erneut mit SSH verbinden, können Sie eine Verbindung zu Ihrem Multiplexer herstellen (z
tmux attach
. B. ).quelle
sudo reptyr 1430
bekam ich nach dem Laufen immer noch: "... [-] Kann das tty im Kind nicht öffnen. Kann nicht an PID 1430 anhängen: Erlaubnis verweigert"echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
bg
sollte der Prozess im Hintergrund laufen ,jobs
alsoRunning
eher alsStopped
.reptyr
ist gut, aber ich habe einen BerechtigungsfehlerDann gefunden
-L Like '-l', but also redirect the child's stdio to the slave.
Das hat wie ein Zauber gewirkt
quelle
-L
bekam ich eine Nachricht wie deine,Opened a new pty: /dev/pts/6
aber meine Suspendierungtop
erschien nicht im tmux. was vermisse ich hierSie können disown verwenden, um den Job von seinem Terminal zu trennen, wenn dieser Befehl verfügbar ist.
es ist jedoch sicherer, es mit nohup zu starten.
quelle
nohup
? Wie funktioniertdisowning
ein Prozess?