백그라운드 프로세스를 시작하는 스크립트가 있습니다.쉘 스크립트에서 backgound 프로세스를 종료합니다.
#!/bin/sh
./process1.sh &
./process2.sh &
별도의 스크립트를 사용하여 이러한 프로세스를 종료해야합니다. 는 여기에 내가 무슨 짓을 :
#!/bin/sh
# the kill.sh
pid=$(ps | grep './process1.sh' |grep -v grep| awk '{print $1}')
kill -9 $pid
질문 시간 :
- kill.sh이 프로세스가 들렸다있다라고합니다. 하지만 메시지가 나타납니다.
"sh : 누구를 죽일 지 지정해야합니다." 왜 그럴까요?
설명 된 스크립트를 사용하여 프로세스를 종료 한 후에 즉시 멈추지 않습니다. 잠시 동안 프로세스가 여전히 실행중인 것처럼 화면에 결과가 표시됩니다. 어떤 아이디어?
프로세스를 죽일 수있는 대체 솔루션은 무엇이 있을까요?
내가 busybox와 함께 일하고 있다고 언급 할만한 가치가있는 유틸리티는 제한적입니다.
도움을 주시면 감사하겠습니다.
당연히 이러한 스크립트를 작성한 방법에 따라 다르지만 시그널을 잡을 때 (살인을 수행 할 때) 신호를 받고 허용 된 작업을 수행하여 정상적으로 정리하거나 종료해야합니다. 또한/tmp 디렉토리의 임시 파일로 백그라운드에서 프로세스를 시작할 때 PID를 기록하십시오. ps 명령을 망칠 필요가 없습니다. – Anders