2013-01-04 4 views
8

다음 명령을 사용하여 Centos에서 실행 가능한 서버를 실행합니다. "nohup server &". 이제 절차 "server"을 죽여야합니다. 하지만 PID을 얻으려면 명령을 "ps -a" 시도했지만 프로세스를 얻을 수 couldnt. 이제 "server"을 지금 어떻게 죽일 수 있습니까?nohup 명령으로 실행되는 프로세스 찾기

+2

ps auxwww | grep -i '서버'는 '서버'가있는 모든 프로세스를 반환해야합니다. 그렇지 않으면 서버가 이미 중지되었을 수 있습니다. –

+1

ps aux | grep server – Mikhail

+0

@Usman saleem 덕분에 내 대답이 해결되었습니다. 내가 터미널을 닫더라도 프로세스 백 그루 룹 (backgroung)을 실행하는 "nohup server &"는 올바른 명령인가? – 2vision2

답변

15

ps auxwww|grep -i 'server' 그들에 server을 가지고 모든 과정을 반환해야합니다 참조하십시오. 그렇지 않으면 서버가 이미 중지되었을 수 있습니다.

당신은 PID를 확인할 수 (및 파일에 저장) 다음과 같이한다 :

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

답변 해 주셔서 감사합니다. – 2vision2

1

centos로 서버를 시작하는 가장 좋은 방법은 service 명령을 사용하는 것입니다.

그래서 service httpd start

당신이 데몬

데몬 (또는 서비스)로 프로그램을 작성 할 수있는 기회 자율적으로 을 실행하도록 설계되어 백그라운드 프로세스가 함께입니다있다 사용자 개입이 거의 또는 전혀 없습니다. 아파치 웹 서버 http 데몬 (httpd)은 데몬의 예입니다. 특정 포트에서 수신 대기중인 백그라운드에서 을 대기하고 요청 유형에 따라 프로세스 스크립트를 제공합니다.

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

+0

실행 가능한 백그라운드를 실행하면됩니까? 몇 가지 예를 들어 주시겠습니까? – 2vision2

+0

@ 2vision2 리눅스 데몬처럼 프로그램을 작성하고 싶습니다. http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html – Mikhail

+0

답변 주셔서 감사합니다. 답변을 주셔서 감사합니다. – 2vision2

2

ps 명령의 도움으로 정확한 과정을 잡을 수있는 명확한 방법은 없지만, 당신이 할 수있는 다음을 사용 :

ps -a | grep "server" 

당신은 이름이 "서버"

또는, GR뿐만 아니라 다른 키워드를 사용하여 실행중인 모든 프로세스의 목록을 얻을 것이다 ep는 ps 출력입니다. nohup.out은 파일이 생성 된 경우

+1

답변 해 주셔서 감사합니다. – 2vision2

12

, 당신이 떠들썩한 파티에서 실행할 수 있습니다

# lsof nohup.out 

이 만든 PID를 반환합니다/

안부 파일을 실행!

관련 문제