2012-07-03 3 views
0

자식이 아직 실행 중일 때 호출 프로세스를 종료 할 수있는 프로세스를 생성해야합니다. 이렇게하는 효과적인 방법은 무엇입니까?비 - 자식 프로세스를 파이썬으로 생성하기

참고 : 저는 UNIX 환경에서 실행됩니다.

+0

내가 너무 생각이 http://stackoverflow.com/questions/881388/what-is-the-reason-for-performing-a-double-fork-when-creating-a-daemon – gahooa

답변

3

상위 프로세스를 종료해도 유닉스 계열 운영 체제에서 하위 프로세스가 종료되지 않으므로 특별한 작업을 수행 할 필요가 없습니다. 서브 프로세스를 subprocess.Popen으로 시작하고 주 프로세스를 종료하십시오. 고아 프로세스는 init에 의해 자동으로 채택됩니다.

+0

에서보세요 어떤 이유로 든 부모는 다른 하위 프로세스가 완료 될 때까지 종료하지 않습니다. 함수를 호출하는 php 파일이 있습니다.이 파일은 기본적으로이 하위 프로세스를 시작하고 일부 정보를 빠르게 반환해야합니다. – themcementality

+2

스벤이 옳다. 방금'p = subprocess.Popen ([ '/ bin/sleep', '60'])'으로 구성된 빠른 스크립트로 유효성을 검사했습니다. 뭔가 다른 일이 있어야합니다. – zigg

+2

@themcementality : 혹시'subprocess.call()'을 사용하고 있습니까? 이것은 아이가 끝나기를 기다릴 것입니다. –

관련 문제