system 함수와 popen 함수의 차이?

withsj81의 이미지

지금까지 프로그램내에서 어떤 명령을 실행할 때 system 함수를 사용해 왔습니다.
그런데 popen 이란 함수 또한 비슷한 기능을 한다는 것을 알게 되었습니다.

system 함수와 popen 함수

어떤 차이점이 있나요?

사용성에서는 system 함수가 간단해 보이기는 합니다만..

ymir의 이미지

system 은 fork + exec 조합으로 단순히 프로그램을 실행만 시키지만..
popen 은 pipe + fork + exec 조합으로, 호출 된 process 의 standard i/o 에 대해서..
pipe 를 통해 fp 조작 함수로 데이터를 주고받을 수 있습니다..

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』