2013-04-10 5 views
0

그래서 execv()를 사용하여 자식 프로세스 내부에서 파일 설명자가 입력에 따라 수정 될 수있는 파일을 실행하고 있습니다.자식에서 여러 번 실행

그러나 아이로부터 다음에 한 프로세스를 실행하려고하는데 execv()가 하위 프로세스를 인계하기 때문에 이전 호출이 실행되지 않아 execv()가 호출됩니다.

한 명의 자녀로부터 여러 프로세스를 실행하려면 어떻게해야합니까?

+0

자식이 자식을 생성하도록하고, 손자가 exec를 실행하도록하고, 자식이 그것을 기다리고, 다른 손자 등을 생성하도록합니다. – Oren

+0

시도해 보았습니다. pipe/fd를 사용 했으므로 아무 것도 출력되지 않습니다. 손자, 아이 만. – Pat

답변

0

프로세스에서 execv을 호출하면 원래 프로세스 이미지가 실행중인 프로그램의 새 프로세스 이미지로 덮어 쓰여집니다. 즉, 동일한 프로세스에서 복수의 execv을 실행할 수 없으며 첫 번째 프로세스 만 실행됩니다.

이 문제를 해결하려면 실행할 각 execv에 대해 새 프로세스를 생성해야합니다.

관련 문제