이것은 프로그램을 실행하고 리턴 코드를 제공합니다.스폰 된 프로그램의 리턴 코드를 얻는 방법
int returnCode;
returnCode = system(program);
어떻게하면 execv에서 동일한 작업을 수행 할 수 있습니까?
이것은 프로그램을 실행하고 리턴 코드를 제공합니다.스폰 된 프로그램의 리턴 코드를 얻는 방법
int returnCode;
returnCode = system(program);
어떻게하면 execv에서 동일한 작업을 수행 할 수 있습니까?
exec
호출 패밀리는 현재 프로세스를 휴지통으로 만들고 동일한 프로세스 공간에서 새 프로그램을 시작합니다. 현재 프로그램 내에서 다른 프로그램을 실행하려면 fork
을 사용하여 새 프로세스를 생성해야합니다. 그런 다음 하위 프로세스에서 exec
을 호출하고 하위 프로세스가 완료 될 때까지 부모를 기다리게하십시오. waitpid
함수는 하위 프로세스의 리턴 코드를 제공합니다.
예를 들어 here을 참조하십시오.
나는 the man page
에서 새로운 프로세스 이미지로 현재 프로세스 이미지 를 대체 exec 함수() 가족을 인용.
즉, exec가 반환되지 않습니다. 시스템에서 무엇이 잘못 되었습니까? 그렇지 않다면 무엇을하고 싶습니까?
질문에 대한 답변의 단서는 OP의 최근 질문에서 찾을 수 있습니다. 예를 들어,'setrlimit()'와 같이. –