Google에서 가능한 해결책을 찾으려고 노력했지만 내가 찾은 것은 값을 반환하는 방법에 대한 설명뿐이지 일부 프로그래밍 언어(제 경우에는 C/C++?)에서 값을 받아들이는 방법이 아닙니다. 이 작업을 수행하는 방법을 아는 사람이 있나요? 몇 가지 팁이 있나요?
답변1
나는 Linux에 초점을 맞추고 있지만 내 대답은 다른 POSIX 시스템에도 적용될 수 있습니다.
다음을 포함하여 C 또는 C++ 프로그램에서 쉘 스크립트를 실행합니다.
일반적인 혼합물포크(2),실행(2),프로세스를 기다리는 중(2)
waitpid
종료 코드를 제공하려면 when을 사용하세요.WEXITSTATUS
WIFEXITED
이것시스템(3)C 표준 라이브러리 함수.
waipid
내부 구현이 반환하는 것을 반환합니다 .이것포펜(3)POSIX 표준 라이브러리 함수. 이용
WEXITSTATUS
실적pclose
system
&가 popen
사용됩니다 fork
, execve
,waitpid
시스템 호출(그 외 몇 가지 더 있습니다. 참조)시스템 호출(2)목록을 얻으려면).
자세히 알아보려면 Linux 시스템 프로그래밍에 관한 좋은 책을 읽어보세요(예:고급 Linux 프로그래밍저자: M.Mitchell et al;복사웹에서 또는아푸에등...)