2013-01-04 10 views
8

Uruchomę plik wykonywalny serwera w Centos, używając następującego polecenia: "nohup server &". Teraz muszę zabić proces "server". Ale próbowałem polecenia "ps -a", aby uzyskać PID, ale nie mogłem uzyskać proces. Jak teraz zabić "server"?Znajdź proces uruchamiany komendą nohup

+2

ps auxwww | grep -i 'server' powinien zwrócić cały proces, który ma w sobie "serwer". W przeciwnym razie serwer mógł już zostać zatrzymany. –

+1

ps aux | grep server – Mikhail

+0

@Usman saleem dzięki temu rozwiązuje moją odpowiedź. Mam jeszcze jedną wątpliwość "nohup server &" jest właściwym poleceniem, aby uruchomić proces backgroung nawet jeśli zamknę terminal? – 2vision2

Odpowiedz

15

ps auxwww|grep -i 'server' powinien zwrócić cały proces, który ma server w nich. W przeciwnym razie serwer mógł już zostać zatrzymany.

Powinieneś być w stanie określić PID (i przechowywać go w pliku) w następujący sposób:

nohup server & 
print $! >> my_server.pid 
+0

Dzięki za odpowiedź. – 2vision2

1

Najlepszym sposobem na uruchomienie serwera w centach jest komenda service.

Więc service httpd start

Jest szansa, że ​​chcesz napisać swój program jako demon

demon (lub usługi) jest to proces w tle, który jest przeznaczony do uruchamiania autonomicznie, z mało interwencji użytkownika. Demon serwera http Apache web (httpd) jest jednym z takich przykładów demona. Czeka ona na przesłuchanie w tle na określonych portach i obsługuje strony lub przetwarza skrypty w oparciu o typ żądania.

Zobacz http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html

+0

. Po prostu muszę uruchomić moje tło wykonywalne? czy możesz dać przykład? – 2vision2

+0

@ 2vision2 chcesz napisać swój program jak demon linuxowy patrz http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html – Mikhail

+0

Dzięki za odpowiedź – 2vision2

2

Nie ma ostateczny sposób, aby złapać dokładny proces przy pomocy polecenia ps, ale można użyć następujących:

ps -a | grep "server" 

dostaniesz listę wszystkich procesów uruchomionych z nazwą „serwer”

Albo można użyć innych słów kluczowych, jak również do gr ep wynik ps.

+1

Dzięki za odpowiedź. – 2vision2

12

Jeśli donohup.out plik został utworzony, można uruchomić w bash:

# lsof nohup.out 

zwróci PID który utworzył/pracuje plik

pozdrawiam!

Powiązane problemy