Hallo DF,
ich kenne tmux, jedoch weiß ich nicht ob und wie das möglich wäre. Kann ich folgendes erreichen?
Auf HostA läuft grad beispielsweise eine Installation, die ich nicht abbrechen möchte. Ich würde aber gerne die Installation von einem anderen HostB weiterführen können. Hätte ich vorher die Installation in einer tmux-session gestartet, könnte ich das ja problemlos machen.
Aber tmux oder session ist auf HostA nicht vorhanden und der Installationsprozess läuft schon. Gib's denn eine Möglichkeit? Geht es wenn ich mit STRG+Z den aktiven Installationsprozess in den Hintergrund verschiebe, und mich dann vom HostB per SSH einlogge und auf HostB "fg" eingebe um den Backgroundprozess wieder hervorhole?
Oder was gibt es sonst für Möglichkeiten hierzu ? Freue mich auf euer Feedback. Danke.
in aktiven Prozess remote aufschalten (mit tmux möglich?)
- pangu
- Beiträge: 1400
- Registriert: 15.11.2011 20:50:52
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: /proc/1
in aktiven Prozess remote aufschalten (mit tmux möglich?)
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.
Re: in aktiven Prozess remote aufschalten (mit tmux möglich?
Das SIGTSTP, fg, bg und so weiter sind alles Funktionen der aktuellen Shell. Der Prozess bleibt ein Kindprozess der Shell, man kommt da nicht mehr so ohne weiteres dran, auch wenn es *eigentlich* kein Problem waere. Man braucht ja "nur" alle Dateideskriptoren der Originalshell zu klauen und in der tmux-Session anzubinden.
Probehalber mal den Kram umleiten:27417 ist eine Shell, sobald ich mich da so einklinke, verhält sie sich anders:Also passiert schon *irgendwas*. Das cat stirbt auch, wenn die Shell zu geht. Wie man daraus ein funktionierendes Rezept ableitet, um eine Session zu kidnappen, weiß ich allerdings nicht. Idee: Man kann auf's PTY gucken… okay, nix is, verhält sich ähnlich wie oben. Vermutlich ist stdin und das PTY so ziemlich dasselbe. Wenn man etwas reinschreibt, bekommt die Shell es zwar mit, besser gesagt, die Anzeige, aber es ist kein Input für die Shell und sie führt nix aus.
Das ist ein interessantes Thema, mein bisheriger Workarround besteht in screen in der ~/.${SHELL}rc.
Gruß Cae
Probehalber mal den Kram umleiten:
Code: Alles auswählen
% cat </proc/27417/fd/1 >/proc/27417/fd/0
Code: Alles auswählen
$
$
$
$
$
$
$
$
Das ist ein interessantes Thema, mein bisheriger Workarround besteht in screen in der ~/.${SHELL}rc.
Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
- pangu
- Beiträge: 1400
- Registriert: 15.11.2011 20:50:52
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: /proc/1
Re: in aktiven Prozess remote aufschalten (mit tmux möglich?
Jo, wie gesagt ... ich frag mich wie das ohne screen und tmux funktionieren könnte. Bin mal gespannt ob jemand 'ne Möglichkeit hierzu kennt.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.
Re: in aktiven Prozess remote aufschalten (mit tmux möglich?
Das sehe ich ähnlich. Auch wenn es generell möglich wäre sieht es UNIX wohl nicht vor, dass ein Kindsprozess einem anderen Prozess übergeben wird (somit sich der Vaterprozess ändert).Der Prozess bleibt ein Kindprozess der Shell, man kommt da nicht mehr so ohne weiteres dran, auch wenn es *eigentlich* kein Problem waere.
Bei
![Debian](/pics/debianpackage.png)
![Debian](/pics/debianpackage.png)
Code: Alles auswählen
init-
|-screen-+-bash---pstree