Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Linux: Programm soll nicht enden, wenn Putty-Verbindung geschlossen wird (https://www.delphipraxis.net/181515-linux-programm-soll-nicht-enden-wenn-putty-verbindung-geschlossen-wird.html)

Philipp1977 21. Aug 2014 13:55

Linux: Programm soll nicht enden, wenn Putty-Verbindung geschlossen wird
 
Hallo,

ich bin was Linux-Terminal-Anwendungen betrifft noch recht neu. Ich habe jetzt ein Programm für einen Linux-Server geschrieben. Das Programm starte ich über Putty und es läuft auch alles prima. Allerdings wird das Programm leider jedesmal beendet, wenn ich die Putty-Verbindung schliesse. Wie kann ich das verhindern?

Danke & VG

pertzschc 21. Aug 2014 14:20

AW: Linux: Programm soll nicht enden, wenn Putty-Verbindung geschlossen wird
 
1. Du machst ein Start/Stop-Init-Skript dafür und lässt es über die Runlevelverwaltung starten (Link)

2. Du startest das Programm in Deiner Putty-Session mittels "nohup" und dem Parameter "&" und legst es damit in den Hintergrund. Google mal nach "nohup"...
"nohup <aufruf dein programm> &"

Christoph

mjustin 21. Aug 2014 14:54

AW: Linux: Programm soll nicht enden, wenn Putty-Verbindung geschlossen wird
 
Ich verwende auch nohup, es gibt aber noch eine zweite Möglichkeit. Wenn das Programm schon läuft (in der aktuellen Putty Sitzung), diese drei Schritte ausführen:

* Strg+Z um den Prozess zu pausieren und in die Shell zurückzukommen
* bg um den Prozess in den Hintergrund zu bringen
* disown -h [job-spec] um das Beenden des Prozesses beim Verlassen der Shell zu verhindern

(Siehe http://www.kossboss.com/linux---move...-process-nohup)

Dalai 21. Aug 2014 15:08

AW: Linux: Programm soll nicht enden, wenn Putty-Verbindung geschlossen wird
 
Die "richtige" Lösung für ein Konsolenprogramm, das im Nutzerkontext läuft, ist screen. Init-Skripte laufen als root.

MfG Dalai

Namenloser 21. Aug 2014 15:51

AW: Linux: Programm soll nicht enden, wenn Putty-Verbindung geschlossen wird
 
Zitat:

Zitat von mjustin (Beitrag 1269430)
es gibt aber noch eine zweite Möglichkeit. Wenn das Programm schon läuft (in der aktuellen Putty Sitzung), diese drei Schritte ausführen:

* Strg+Z um den Prozess zu pausieren und in die Shell zurückzukommen
* bg um den Prozess in den Hintergrund zu bringen
* disown -h [job-spec] um das Beenden des Prozesses beim Verlassen der Shell zu verhindern

So habe ich es immer gemacht.

Mir fällt nämlich meistens auch erst hinterher ein, dass ich das Programm nach dem Schließen der Shell weiterlaufen lassen will.

Dalai 21. Aug 2014 16:12

AW: Linux: Programm soll nicht enden, wenn Putty-Verbindung geschlossen wird
 
Gibt's denn ein Gegenstück zu disown, um den laufenden Job wieder in den Vordergrund bzw. in die aktuelle Shell zu holen? Wenn nicht: Woran sieht man dann, ob der Job/Prozess erfolgreich beendet wurde? Denn wenn man Vorkehrungen dafür treffen muss (Umleitung der Ausgabe bzw. des Exitcode in irgendeine Datei), kann man auch gleich screen benutzen, und sich damit die Möglichkeit offenhalten, jederzeit wieder auf genau die "Shell" mit dem lange laufenden Prozess zurückzukehren.

MfG Dalai


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz