리눅스 멀티쓰래드 프로그램에서 system() 함수를 쓰지 말라고 들었습니다.
그러면 작업 쓰래드에서 외부툴을 호출해서 작업한 결과를 받을 필요가 있을 때,
system() 함수 대신 다른 대체 API 가 있나요?
system() 이 fork+exec 로 알고 있는데요.
그냥 fork() 같은 것으로 하자니 SIGCHLD 로 결과가 완료된 시점을 알아야 하는데,
멀티쓰래드에서 SIGCHLD signal 이 뒤죽박죽되서 문제가 많더라구요.
system() 을 대체할만한 다른 API 가 있을까요?
고수님들의 조언 부탁드려요.