GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ausführen einer Java-App, wenn SSH in Google Cloud geschlossen ist

Sie geben Folgendes an:

Ich möchte, dass diese App (die ein Server ist) bestehen bleibt, nachdem ich SSH beendet habe, und ich möchte mich jederzeit wieder mit der Konsole verbinden und Befehle auf dem Server ausführen können.

Etwas vage Ziele, aber ich werde es versuchen!

Um einen beliebigen Befehl als Hintergrundprozess auf einem Linux-Server auszuführen, sollten Sie dem Befehl nohup voranstellen und hängen Sie & an bis zum Ende.

Der letzte Befehl wäre also:

nohup [your command] &

Die nohup bedeutet, dass der Befehl „hang ups“ und das kaufmännische Und & ignorieren soll Daran angehängt ist ein Shell-Befehl, der das System anweist, den Befehl als Hintergrundprozess auszuführen. Weitere Informationen zur Verwendung finden Sie hier.

Wenn Sie einen Befehl wie diesen ausführen, wird der Prozess ausgeführt, Sie werden zur Eingabeaufforderung zurückgeschickt und können die Terminalsitzung beenden oder während dieser Terminalsitzung sogar etwas anderes tun, das nichts mit diesem Befehl zu tun hat.


Dafür gibt es mindestens drei Möglichkeiten:nohup ('nicht auflegen'), screen /tmux , oder disown . Es ist ein wenig unklar aus Ihrer Frage, ob Sie sich mit dem Server verbinden und mit dem Daemon interagieren müssen, nachdem Sie die Verbindung getrennt haben.

Wenn dies der Fall ist, nohup und disown werden keine guten Übereinstimmungen sein, wenn Sie den Prozess freigeben (obwohl er weiter ausgeführt wird). tmux (und auch screen ) läuft eine Laufzeit, auch wenn Sie.

Weitere Informationen finden Sie auf den entsprechenden Seiten:

man nohup
man tux

Bash disown (vorausgesetzt, Sie führen Bash aus, obwohl viele andere Shells etwas Ähnliches enthalten)


Linux
  1. Nohup-Befehl mit Beispielen

  2. 4 Möglichkeiten, einen Befehl weiter auszuführen, nachdem Sie sich von der SSH-Sitzung abgemeldet haben

  3. Ubuntu – Ausführen eines Befehls, wenn eine CD/DVD/BD eingelegt ist?

  4. Verhindert, dass die aktuell ausgeführte Linux-Aufgabe nach dem Abmelden von SSH beendet wird

  5. Fortsetzen des Befehls, der in einer unterbrochenen SSH-Sitzung ausgeführt wird

Linux Nohup-Befehl

SSH-Befehl

Undistract-me :Erhalten Sie eine Benachrichtigung, wenn lang andauernde Terminalbefehle abgeschlossen sind

Behebung des „Exec-Formatfehlers“ beim Ausführen von Skripts mit dem Befehl „run-parts“.

Nohup-Befehl unter Linux

SSH - So fügen Sie den Befehl -t in die Datei ~/.ssh/config ein