W przeszłości nohup
prowadziłem duże zadania w tle, ale zauważyłem, że wiele osób korzysta screen
w tym kontekście. Czy screen
zapewnia jakąś funkcjonalną przewagę, o której nie wiem, czy jest to tylko kwestia preferencji?
W przeszłości nohup
prowadziłem duże zadania w tle, ale zauważyłem, że wiele osób korzysta screen
w tym kontekście. Czy screen
zapewnia jakąś funkcjonalną przewagę, o której nie wiem, czy jest to tylko kwestia preferencji?
Odpowiedzi:
Oba mają swoje plusy i minusy:
nohup:
nohup.out
.ekran:
@rahmu, nigdy nie zgadnę pid, jeśli chcesz go zabić. Upewnij się przed zabiciem kogoś / czegoś;).
Najlepszym sposobem, w obu przypadkach na ekranie i nohup jest:
ps -eaf | grep "nohup" | grep "your proc name/keyword"
.
Użyj ekranu i sprawdź, co na nim działa.
Podsumowując, są to dwie różne rzeczy wykonane w różnych programach, więc porównanie jest trudne.
ekran ma mnóstwo funkcji. Nie tylko „demonizuje” proces, jest bardziej menedżerem okien dla terminali.
Można go użyć, jeśli w pewnym momencie proces wymaga danych wejściowych, możesz przejść do sprawdzenia wyniku procesu, ponownie połączyć się z jego terminalem, ...
Więc nie, to nie jest tylko kwestia preferencji, to wcale nie są to samo.
nohup
debugując pola bazy danych.ps ax | grep nohup
pokaże ci identyfikator procesu i możesz go zabić. nohup
jest szybszy. Prostym powodem jest to, że zależy to od połączenia internetowego między komputerem a serwerem. Ilekroć Internet działa powoli, proces ten również przebiega powoli.
nohup [...] > fileName.log 2>&1
. Plus oznacza to, że wyjście nie zostanie utracone.