개발 이야기/PHP 이야기
[PHP] 시스템(System) 함수 호출하기
건강한프로그래머
2016. 5. 30. 17:17
안녕하세요, 건프입니다.
PHP 를 이용해서 아랫단(커널)의 함수를 호출하려고 하다보니, system 함수를 호출해야 할 필요가 있어서 테스트 해봤는데 재미있는 결과가 나와서
이렇게 적습니다.
호출할 간단한 c프로그램은 다음과 같습니다.
stdout과 stderr 를 각각 찍어보았습니다. 어떻게 되나 궁금하더라구요.
제가 사용하고 있는 PHP 버전은 다음과 같습니다.
php --version
내장 서버를 발동시키는 방방법은 다음과 같습니다.
php -S localhost:(포트번호)
이후 웹브라우저에서 위의 포트번호 뒤에 경로를 찾아가면 됩니다.
웹에서 띄울 php 코드는 간단하게 작성하였습니다.
테스트했던 코드는 html 이 들어가있지만, 정작 중요한 php 부분은 다음과 똑같습니다.
helloworld를 찍고,
프로세스 하나를 실행시키고,
결과값을 받아서 결과값을 출력합니다.
system([command], [result]);
결과
stdout 은 브라우저에 찍힙니다.
return 0을 리턴하니까 result 에 0도 찍혔네요.
반면
stderr 는 서버 콘솔에 찍히게 됩니다.
그렇네요. 이제 시스템 함수에 의해 시작된 프로세스에 관련된 로그는
stderr 로 뽑아서 확인하면 좋을 것 같습니다.
도움이 되었길 바랍니다 :)
고맙습니다