ubuntuusers.de

nohup funktioniert nicht?

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

Chaoshh

Anmeldungsdatum:
17. Juni 2007

Beiträge: 159

Hallo,

kann es sein, dass nohup nicht mehr funktioniert mit Ubuntu 14.04? Ich bediene den PC via putty, wenn ich dann putty schließe ist der Befehl sofort beendet.

1
nohup mv -f /home/username/downloads/verzeichnis1/* /home/username/verzeichins2

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

und wenn du es zusätzlich noch in den Hintergrund schickst mit & am Ende?

Normalerweise nimmt man für sowas eher screen oder tmux

Chaoshh

(Themenstarter)

Anmeldungsdatum:
17. Juni 2007

Beiträge: 159

MÜsste dann gleich wieder prompt erscheinen? Bei mir startet der Befehl, Prompt erscheint aber nicht, ich müsste STRG+C Drücken damit dazu kommt.

elostio

Avatar von elostio

Anmeldungsdatum:
2. Februar 2006

Beiträge: 424

Wohnort: Guayaquil

Ja, deswegen musst du es auch mit einem & in den Hintergrund schicken. Meiner Meinung nach ist nohup übrigens genau das was du suchst nicht screen oder ähnliches, außer du musst regelmäßig eine bestehende Sitzung wiederherstellen.

1
nohup mv -f /home/username/downloads/verzeichnis1/* /home/username/verzeichins2 &

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

nohup siehst du halt nie wieder und ist nicht sonderlich intuitiv. Das ist mehr was für Scripte die sich zum Hintergrunddienst aufschwingen wollen oder sowas.

Mit screen/tmux bekommst du die ganz normale Shell wieder, die tatsächlich nie beendet wird. Du kannst also Fehlermeldungen oder Fortschritt sehen, sowie den Prozess unterbrechen oder abbrechen. Und das wichtigste: Wenn du pauschal alles in screen/tmux machst, verlierst du auch nichts wenn dein SSH-Client mal unbeabsichtigt den Abflug macht.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13204

frostschutz schrieb:

nohup siehst du halt nie wieder und ist nicht sonderlich intuitiv. Das ist mehr was für Scripte die sich zum Hintergrunddienst aufschwingen wollen oder sowas.

Mir scheint das für den genannten Use Case sehr geeignet: Chaoshh will halt einen Kopiervorgang starten, der etwas länger dauert und dafür die Terminalverbindung nicht offen halten müssen.

Mit screen/tmux bekommst du die ganz normale Shell wieder, die tatsächlich nie beendet wird. Du kannst also Fehlermeldungen oder Fortschritt sehen, sowie den Prozess unterbrechen oder abbrechen.

Das kann man auch mit nohup, denn die Ausgabe (Stdout und Stderr) wird in eine Datei geschrieben. Wenn man will, kann man selbst festlegen, wo die Ausgabe landet, indem man eine explizite Ausgabeumleitung nutzt (siehe Manpage).

Und das wichtigste: Wenn du pauschal alles in screen/tmux machst, verlierst du auch nichts wenn dein SSH-Client mal unbeabsichtigt den Abflug macht.

Auch davor schützt nohup. Die Session von screen oder tmux lebt halt viel länger als nötig. Die stirbt erst, wenn man sich wieder einloggt und sie beendet oder den Rechner bootet. Das erscheint mir hier unnötig.

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

rklm schrieb:

Auch davor schützt nohup.

Nicht so wie ichs gemeint habe: Wenn dir die Verbindung unbeabsichtigt, also unvorhergesehen und ungeplant, dann hast du ja gerade eben kein nohup benutzt... 🦆

Das erscheint mir hier unnötig.

Mir nicht, aber muss jeder selber wissen. Sollte auch keine Grundsatzdiskussion werden, solange die Alternative überhaupt bekannt ist...

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

Noch eine Alternative zu nohup:

~ $ sleep 10000
^Z
[1]+  Stopped                 sleep 10000
~ $ bg
[1]+ sleep 10000 &
~ $ jobs
[1]+  Running                 sleep 10000 &
~ $ pidof sleep
31449
~ $ disown
~ $ jobs
~ $
^D
~ $ pidof sleep
31449

Das_Wort

Anmeldungsdatum:
23. Dezember 2009

Beiträge: 5269

Wohnort: /dev/null

Kurz und verständlich:

befehl & disown

Zum testen einfach htop im tree Modus an machen. Dann mit sleep 30 testen was der Elternprozess ist.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13204

frostschutz schrieb:

rklm schrieb:

Auch davor schützt nohup.

Nicht so wie ichs gemeint habe: Wenn dir die Verbindung unbeabsichtigt, also unvorhergesehen und ungeplant, dann hast du ja gerade eben kein nohup benutzt... 🦆

Ja, aber dann nutzt Dir auch screen nicht, weil Du das dann ja auch nicht genutzt hast. Wenn man explizit screen nutzt, kann man genau so explizit auch nohup nutzen.

Das erscheint mir hier unnötig.

Mir nicht, aber muss jeder selber wissen. Sollte auch keine Grundsatzdiskussion werden, solange die Alternative überhaupt bekannt ist...

Dann erklär doch mal, warum das hier Deiner Ansicht nach nötig wäre. Wir wollen ja alle etwas lernen, aber wenn Du nicht erwähnst, was in diesem Fall screen besser für den OP macht, lernen wir halt nix. Kann ja sein, dass ich etwas übersehen habe.

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

*seufz*

Chaoshh

(Themenstarter)

Anmeldungsdatum:
17. Juni 2007

Beiträge: 159

Ist schon ok, screen funktioniert bei mir gut. Danke für eure Hilfe. 👍

Antworten |