2010-06-10 5 views
1

너무 오래 지속되는 명령을 수행하는 스크립트를 실행하고있어 중단하고 싶습니다. 어떤 도움이 필요합니까? 나는 많은 것을 찾으려고 노력했고, 나는 kill 명령을 지적했다. 그러나, 나는 그것이 작동하도록 할 수 없습니다. 그건 그렇고, 나는 맥 오에스 텐을 사용하고있다. 고마워!쉘 스크립트에서 Ctrl + C를 복제하는 방법은 무엇입니까?

+0

자세한 내용은 다음과 같습니다. 백그라운드에서 스크립트를 실행하고 있습니까? 완료하기를 기다리고 계십니까? 귀하의 대본은 무엇이며 어떻게하려고합니까 ... 무엇을하려고합니까? – riwalk

+0

기본적으로 asr 멀티 캐스트 스트림을 실행하고 있지만이를 막을 방법을 알 수 없으므로이 작업을 수행하려고합니다. asr server --source [source] --config [plist file] --debug | (sleep 30 && [CTRL + C]) 문제는 CTRL + C를 복제하는 방법을 모르겠다는 것입니다. – hassaanm

답변

2

당신이 프로세스의 PID를 가정하면, 그것을 SIGINT 신호를 보내 : 당신은 PID가없는 경우

kill -SIGINT PID 

pkill 시도 할 수 있습니다 또는 killall을하지만, 다소 덜 안전 해를; PID는 프로세스를 고유하게 식별하는 유일한 방법입니다. 당신이 다른 프로세스를 생성 직후에 당신이 맥 OS X, 사용의 터미널에 리눅스 Ctrl + C를 복제하려면 다음

process-that-takes-a-long-time & 
pid=$! 
# other stuff 
kill -SIGINT $pid 
+0

PID를 찾지 못하면 어떻게 될까요? CTRL + C를 복제하는 또 다른 방법이 있습니까? – hassaanm

+0

'killall'과 조심하십시오. 어떤 시스템에서는'halt '와 비슷합니다. –

0

을 저장할 수 있도록 PID는! $에 있어야합니다 ctrl + C! 동일한 키 입력 조합 나를 위해 일했습니다 (Mac의 첫 번째 단계)

편집 : 백그라운드에서 스크립트가 실행되고 있지 않습니다.

관련 문제