C소스 안에서 리눅스 명령을 실행하고자 합니다..

esllo의 이미지

조언 부탁드립니다..

리눅스 C 프로그램 중입니다.. 라이브러리는 불러올수 없는 환경에서
fork나 fopen 과 같은.. 함수만 사용 가능합니다..

여기서.. 소스 안에서 리눅스 명령어 예) $ who

이런것들을 실행해서 그 결과를 buff(변수)에 저장하고, 용도에 맞게 재 사용이 가능할까요??
조언좀 주시면 감사드립니다 ㅜㅠ 찾아봐도 안나오고.. 어렵네요;

세벌의 이미지

exec 나 execl 등을 쓰시면 될 것 같긴 한데...

http://sebul.sarang.net/

danskesb의 이미지

popen이라는 함수가 있습니다.

http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/2/popen

---- 절취선 ----
http://blog.peremen.name

esllo의 이미지

감사합니다..ㅜㅠ

klenui의 이미지

popen 쓰셔도 되고 , fork 후에 dup2로 STDOUT, STDERR 정의해주고 execl로 call, wait한후 dup2로 redirect한 파일 parsing..이라는 순서로 처리해도 되겠지요...

쓰고나니 popen이 낫겠네요.. ^^;