So verwalten Sie Hintergrundprozesse in CentOS [duplizieren]

3

Diese Frage hat hier bereits eine Antwort:

Ich benutze CentOS und kann nicht herausfinden, wie es geht:

  1. Liste der aktuellen Hintergrundprozesse / Jobs anzeigen (die ich ausführe).
  2. So führen Sie den Prozess im Hintergrund aus.
  3. 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 &
Dmytro Pastovenskyi
quelle

Antworten:

3

Das hängt vermutlich hauptsächlich von Ihrer Muschel ab bash(1). Die meisten anderen modernen Shells bieten ähnliche (oder sogar identische) Möglichkeiten zur Auftragssteuerung.

  • Führen Sie command &oder aus, um einen Befehl im Hintergrund zu starten nohup command &(wenn Sie sich abmelden möchten und ihn noch ausführen möchten).
  • Um den laufenden Befehl zu stoppen C-z(Strg-Z), um den gestoppten Befehl in den Hintergrund zu stellen, gehen Sie wie folgt vor bg. Wenn fgSie es wieder in den Vordergrund bringen, jobserfahren Sie, was gestoppt oder im Hintergrund ist. kill %ktötet Auftragsnummer k, fg %k(oder Ebene %k) in den Vordergrund bringt. Sie können einen gestoppten Job kim Hintergrund durch bg %k(oder einfach %k &) starten .

Da ist noch ein bisschen mehr dran.

Ein anderer, sehr flexibler Weg ist screen(1), die Manualpage zu überprüfen. Mit ihm können Sie einen Befehl starten und die Verbindung trennen und später eine Verbindung zu einem anderen Terminal (oder einer anderen Maschine über das Internet) herstellen.

vonbrand
quelle
1

Ihr Ansatz sollte funktionieren ...

Starten Sie den Job mit nohup activator run &

Überprüfen Sie, was mit läuft jobs -l

Hör auf mit kill PID(du kannst die PID mit bekommen ps -ef | grep activator)


Ich persönlich bevorzuge screen- http://linux.die.net/man/1/screen

Starten Sie den Job mit screen -d -m activator run

Überprüfen Sie die Bildschirmsitzungen mit screen -ls

Beenden Sie es, indem Sie auf das Bildschirmfenster mit der screen -xfolgenden ID für die Bildschirmsitzung zugreifen

Deeh
quelle