2013-06-17 10 views
10

내가 사용 댄서/Starman 서버 시작 :어떻게 perl Dancer/Starman/Plack 서버를 중지합니까?

 
sudo plackup -s Starman -p 5001 -E deployment --workers=10 -a mywebapp/bin/app.pl 

을하지만 난 서버를 중지하는 방법을 확실 해요. 누군가가 나를 멈추게하는 빠른 방법과 그것이 산란 한 모든 노동자를 제공 할 수 있습니까?

+0

왜'sudo'입니까? 이걸 루트로 실행해야합니까? – innaM

+0

좋은 질문입니다 ... 아마! :) –

답변

13

사용

--pid /path/to/the/pid.file 

당신은 PID

그래서, 위의 옵션을 사용하여, 당신은 pid.file 단순히 마스터의 저장

kill $(cat /path/to/the/pid.file) 

을 사용할 수 있습니다 자신의 기반으로 프로세스를 종료 할 수 있습니다 PID - ps 출력을 분석 할 필요가 없습니다.

+0

나는 프로세스를 죽였지 만, 이제 plackup을 사용하여 프로세스를 다시 시작할 수 없습니다. 그것은 그 포트에서 여전히 실행중인 서버가 있다고 말합니다. –

+1

'kill -9'를 사용하지 않고 단순한'kill'을 사용합니다. 이제 수동으로 pid 파일을 제거하십시오. 'kill -9'는 열린 소켓을 닫지 않습니다 ... – jm666

+0

죄송합니다 : (이미 kill -9를 사용했습니다. 어쨌든 복구 할 수 있습니까? 또한, pid 파일은 어디에서 찾을 수 있습니까? . 그리고 프로세스가 포트 5001에 대한 요청을 계속 처리하고있는 것 같습니다. kill -9로 죽인 경우에도 마찬가지입니다! –

1

pkill -f starman

이름을 기반으로 프로세스를 종료하십시오.

0

Windows의 경우 복사본 만들기와 같은 "Ctrl + C"를 할 수 있지만이 경우에는 취소 할 수 있습니다. 테스트를 거쳤습니다.

+1

OP의'sudo '사용은 Linux 또는 유닉스 전반에 있음을 의미합니다. CTRL + C는 서버가 포 그라운드에서 실행되는 경우에도 작동합니다. 그러나 질문은 서버 _ 명령을 멈추는 것에 관한 것이라고 생각합니다. – PerlDuck