Ich verwende CentOS und weiß nicht, wie ich:
- Liste der aktuellen Hintergrundprozesse/-jobs anzeigen (die ich ausführe).
- So führen Sie einen Prozess im Hintergrund aus.
- So stoppen Sie den Hintergrundprozess.
Mein Befehl, den ich im Hintergrund ausführen möchte, sieht folgendermaßen aus:
activator run
Bisher habe ich nur diesen Befehl gefunden (der den Prozess im Hintergrund ausführt).
nohup activator run &
Antwort1
Das hängt vermutlich hauptsächlich von Ihrer Shell ab bash(1)
. Die meisten anderen modernen Shells bieten ähnliche (oder sogar identische) Jobsteuerungsfunktionen.
- Um einen Befehl im Hintergrund zu starten, führen Sie
command &
oder ausnohup command &
(wenn Sie sich abmelden und den Befehl trotzdem ausführen möchten). - Um den laufenden Befehl zu stoppen,
C-z
drücken Sie (Strg-Z), um den gestoppten Befehl in den Hintergrund zu bringen, drücken Siebg
. Mitfg
holen Sie ihn wieder in den Vordergrund,jobs
zeigt Ihnen, was gestoppt ist oder sich im Hintergrund befindet.kill %k
beendet den Job Nummerk
,fg %k
(oder einfach%k
) bringt ihn in den Vordergrund. Sie können den gestoppten Jobk
im Hintergrund starten, indembg %k
Sie (oder einfach%k &
) drücken.
Es gibt noch einiges mehr.
Eine andere, recht flexible Möglichkeit ist die Verwendung screen(1)
von . Sehen Sie sich die Manualpage dazu an. Damit können Sie einen Befehl starten und die Verbindung trennen und später von einem anderen Terminal (oder einem anderen Rechner über das Internet) aus eine Verbindung herstellen.
Antwort2
Ihr Ansatz sollte funktionieren …
Beginnen Sie den Job mitnohup activator run &
Überprüfen Sie, was mit läuftjobs -l
Stoppen Sie es mit kill PID
(Sie können die PID mit abrufen ps -ef | grep activator
)
Ich persönlich bevorzuge screen
--http://linux.die.net/man/1/screen
Beginnen Sie den Job mitscreen -d -m activator run
Überprüfen Sie Bildschirmsitzungen mitscreen -ls
Stoppen Sie es, indem Sie auf das Bildschirmfenster zugreifen, screen -x
gefolgt von der Bildschirmsitzungs-ID