Linux: Updateprozess im Hintergrund laufen lassen

Gast #5048467
Hallo,

ich verbinde mich mit Putty per SSH mit einem anderem PC (Linux). Wenn 
ich dort ein update starte und Putty mitten drin schließe, wird auch das 
Updateten abgeschossen. Gibt es eine Möglichkeit das Update zu starten 
und dann ohne Putty weiter laufen zu lassen?
#5049166
Falls deine Linux distribution Systemd verwendet, und screen und tmux 
beim logout auch beendet werden sollten ist es möglich, dass die 
Distribution Systemd's kaputtes Verhalten beim ausloggen nicht repariert 
hat. Mehr dazu hier: 
https://unix.stackexchange.com/questions/171503/tmux-session-killed-when-disconnecting-from-ssh

Da ich Systemd nicht verwende, und deine Linux distribution nicht kenne, 
kann ich jedoch nicht ob das Problem immernoch besteht oder ob es dich 
mit deiner Distribution überhaubt betrifft.
#5049272
Man mag systemd lieben oder hassen, der trägt aber keine Schuld daran, 
dass Prozesse wegfliegen, wenn ihr Terminal abschaltet. SIGHUP und die 
entsprechende Reaktion existiert seit der Anfangszeit von UNIX. Eben 
deshalb gibts schon genau so lange das "nohup" Kommando.
Gast #5049274
A. K. schrieb:
> Man mag systemd lieben oder hassen, der trägt aber keine Schuld daran,
> dass Prozesse wegfliegen, wenn ihre Konsole abschaltet. SIGHUP und die
> entsprechende Reaktion existiert seit der Anfangszeit von UNIX.

systemd geht aber noch einen schritt weiter, und killt hart alles 
Prozesse des users wenn sie sie SIGHUP nicht reagieren. (zumindest im 
Default)
#5049276
Md M. schrieb:
> Ansonsten kann man den Prozess auch folgendermaßen nachträglich in den
> Hintergrund legen:

Aber die fliegen trotzdem weg, wenn das Terminal Schluss macht, weil 
immer noch damit verbunden. "nohup" trennt den Prozess vom Terminal ab 
und erst dadurch läuft der Prozess auch ohne Terminal weiter.

Nachträglich geht das über die Job Control der Shell, mit "disown".
(Firma: Potilatormanufaktur) #5049307
A. K. schrieb:
> Md M. schrieb:
>> Ansonsten kann man den Prozess auch folgendermaßen nachträglich in den
>> Hintergrund legen:
>
> Aber die fliegen trotzdem weg, wenn das Terminal Schluss macht, weil
> immer noch damit verbunden.

Hatte ich eigentlich auch vermutet, deshalb hab ich es vorm posten auch 
ausprobiert. Die Prozesse (hab ping und wget probiert) liefen noch nach 
dem wiedereinloggen.
Gast #5049312
A. K. schrieb:
> Aber die fliegen trotzdem weg, wenn das Terminal Schluss macht, weil
> immer noch damit verbunden. "nohup" trennt den Prozess vom Terminal ab
> und erst dadurch läuft der Prozess auch ohne Terminal weiter.

auch nicht zwingend bei Systemd - er räumt ordentlich auf.
#5049317
Md M. schrieb:
> Hatte ich eigentlich auch vermutet, deshalb hab ich es vorm posten auch
> ausprobiert. Die Prozesse (hab ping und wget probiert) liefen noch nach
> dem wiedereinloggen.

Dazu existiert eine Bash-Einstellung. Je nach Einstellung laufen 
Prozesse bei regulärer Beendigung der Shell weiter.
Gast #5049335
steht ja sogar in der doku

Note that setting KillUserProcesses=yes will break tools like screen(1) 
and tmux(1), unless they are moved out of the session scope. See example 
in systemd-run(1).
Beitrag #5049338 wurde von einem Moderator gelöscht.
Gast #5049343
A. K. schrieb im Beitrag #5049338:
> Und jetzt? Wenn Praxis != Theorie, was stimmt dann? ;-)

dürfte auch abhängig vom KillMode sein, damit kann man das alte 
verhalten wieder herstellen.

> Was normaler User, nicht "root" für den es KillExcludeUsers gibt.
was meinst du damit?
#5049344
1
man logind.conf
2

3
       KillUserProcesses=
4
           Takes a boolean argument. Configures whether the processes of a user should be killed
5
           when the user completely logs out (i.e. after the user's last session ended). Defaults
6
           to "no".
7

8
           Note that setting KillUserProcesses=1 will break tools like screen(1).
#5049348
Peter II schrieb:
> was meinst du damit?
1
       KillOnlyUsers=, KillExcludeUsers=
2
           These settings take space-separated lists of usernames that influence the effect of
3
           KillUserProcesses=. If not empty, only processes of users listed in KillOnlyUsers=
4
           will be killed when they log out entirely. Processes of users listed in
5
           KillExcludeUsers= are excluded from being killed.  KillExcludeUsers= defaults to
6
           "root" and takes precedence over KillOnlyUsers=, which defaults to the empty list.
#5049360
Peter II schrieb:
> dürfte auch abhängig vom KillMode sein, damit kann man das alte
> verhalten wieder herstellen.

Wo wird das konfiguriert? Ich fand dazu zwar Doku, die auch erwähnt wozu 
es gut ist, nicht aber, wo das stehen würde.

Jedenfalls gilt (hier) für KillUserProcesses `Defaults to "no"´,
also alles in Butter.
Gast #5049362
A. K. schrieb:
> Wo wird das konfiguriert?

da bin ich jetzt auch überfragt. (hatte noch nie eine Grund das zu 
ändern). Laut doku bei jedem Service, welcher Service aber für 
session-logout zuständig ist kann ich nicht sagen.
#5049435
Das reale Verhalten von Debian 9: Mit #KillUserProcesses=no (Default) 
wird der Prozess nicht abgeschossen. Das passiert nur mit explizitem 
KillUserProcesses=yes.

Also alles halb so wild. Mir scheint, das war mal anders, hatte etwas 
Wirbel verursacht und sie sind wieder retour. Haben aber vergessen, die 
Doku mitzuziehen.

PS: Habe kein Debian gefunden, in dem es anders gewesen wäre.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.