Jak zarządzać procesami w tle w CentOS [duplikat]

2

To pytanie ma już tutaj odpowiedź:

Używam CentOS i nie wiem, jak:

  1. Pokaż listę bieżących procesów / zadań w tle (które uruchamiam).
  2. Jak uruchomić proces w tle.
  3. Jak zatrzymać proces w tle.

Moje polecenie, które chcę uruchomić w tle, wygląda tak:

activator run

Do tej pory znalazłem tylko to polecenie (które uruchamia proces w tle).

nohup activator run &
Dmytro Pastovenskyi
źródło

Odpowiedzi:

2

To zależy głównie od twojej powłoki bash(1). Większość innych nowoczesnych muszli oferuje podobne (lub nawet identyczne) urządzenia do kontroli pracy.

  • Aby uruchomić polecenie w tle, zrób command & lub nohup command & (jeśli chcesz się wylogować i nadal mieć uruchomiony)
  • Aby zatrzymać uruchomione polecenie, C-z (ctrl-Z), aby umieścić zatrzymane polecenie w tle bg. Z fg przywracasz go na pierwszy plan, jobs mówi ci, co jest zatrzymane lub w tle. kill %k zabija numer pracy k, fg %k (lub zwykły %k ) przenosi go na pierwszy plan. Możesz rozpocząć zatrzymaną pracę k w tle przez bg %k (lub po prostu %k & ).

Jest trochę więcej.

Innym, dość elastycznym sposobem jest użycie screen(1), sprawdź stronę podręcznika. Dzięki niemu możesz uruchomić polecenie i rozłączyć się, a później połączyć się z innym terminalem (lub inną maszyną przez sieć).

vonbrand
źródło
1

Twoje podejście powinno działać ...

Rozpocznij pracę z nohup activator run &

Sprawdź, co działa jobs -l

Przestań z tym kill PID (możesz uzyskać PID za pomocą ps -ef | grep activator )


Osobiście wolę screen - http://linux.die.net/man/1/screen

Rozpocznij pracę z screen -d -m activator run

Sprawdź sesje na ekranie za pomocą screen -ls

Zatrzymaj go, otwierając okno ekranu za pomocą screen -x po którym następuje identyfikator sesji ekranu

Deeh
źródło