2013-09-16 6 views
1

동일한 이름을 사용하는 두 개의 프로세스가 있고 각 프로세스 내부에는 오직 하나의 프로세스 만 종료시키는 행을 삽입하고 싶습니다. 예를 들어 내 2 프로세스의 이름이 "test"인 경우 "test"파일에 다음과 같은 행을 삽입 할 수 없습니다. system ("killall -9 test");Perl : 다른 하나와 같은 이름의 프로세스를 종료하십시오.

두 프로세스가 중지되기 때문입니다. 내가 어떻게 할 수 있니?

+0

정확하게 이해합니까? 동일한 이름의 _other_ 프로세스를 죽이고 싶습니까? –

답변

2

프로세스 ID를 통해 각 프로세스를 식별하고이를 사용하여 제거해야합니다. 프로세스 ID는 으로 유일하게은 프로세스를 식별합니다. (당연하지!)

기본적으로 -9 (SIGKILL)를 사용하는 것은 바람직하지 않습니다. 정상적인 kill (SIGINT)은 프로세스가이를 잡아주고 정리를 수행 한 다음 종료 할 수있게합니다. A SIGKILL (-9)은 해당 정리 기회를 허용하지 않으므로 최후의 수단으로 사용해야합니다.

관련 문제