bionote.net

[PHP] 웹을 통해서 백그라운드 작업을 실행시키기


http://blna999.ivyro.net/tt/index.php?pl=76&ct1=5 에서 웹을 통해서 쉘 작업을 수행하는 방법에 대해서 이야기하였다.
빨리 실행되는 명령어의 경우에는 바로 결과를 저장해서 웹으로 출력해줄 수 있다. 하지만 내부에서 실행하는 프로그램이 많은 시간을 요구한다면 사용자의 브라우저는 계속 로딩 상태에 매여있게 된다 (Hang). 따라서 백그라운드 모드로 작업을 실행시켜야할 필요가 있다.
system 함수를 사용해서 백그라운드 모드로 프로그램을 실행시키기 위해서는 실행시키는 프로그램의 결과를 임의의 파일로 리다이렉션시켜야한다. 예를 들면 다음과 같다.
$param = escapeshellcmd($param);
system("./myprogram $param > /dev/null &");

여기서 리다이렉션이 없으면 PHP는 프로그램이 완전히 종료될 때까지 hang 상태가 된다.
2006/02/08 17:10 2006/02/08 17:10
top

TRACKBACK ADDRESS :: http://bionote.net/tt/blna999/trackback/77

Leave a comment..