쉘에서 php 파일을 직접 실행하고 있는데 문제가 생겼습니다.

망치의 이미지

cron으로 매분 php 파일을 직접 실행시키고 있는데, 잘 되다가 종종 프로세스가 안죽는 문제가 생기고 있습니다.
/etc/cron.test/test.sh 이 파일에서 php 파일을 실행시킵니다.

 6404 ?        S      0:00 CROND
 6405 ?        S      0:00 /bin/bash /usr/bin/run-parts /etc/cron.test
 6406 ?        S      0:00 /bin/bash /etc/cron.test/test.sh
 6407 ?        S      0:00 /usr/local/php/bin/php /home/####/test.php
 6408 ?        S      0:00 awk -v progname=/etc/cron.test/test.sh progname {?????   print progname ":\n"?????   progname="";????       }????       { pri

저렇게 프로세스가 남아서 사라지질 않습니다. php 파일 내용은 다른 웹서버로 CURL 을 이용하여 접속한뒤, 페이지 내용을 긁어옵니다. 긁어오는데 10초~20초 정도 걸리더군요. php 파일을 쉘에서 직접 실행시킬때, timeout 제한을 걸거나, 좀비화되는걸 막을 수 있는 방법 있을까요?

그리고, awk 는 정확히 어떤 역할을 하는건가요?

strongberry의 이미지

천둥망치 wrote:
cron으로 매분 php 파일을 직접 실행시키고 있는데, 잘 되다가 종종 프로세스가 안죽는 문제가 생기고 있습니다.
/etc/cron.test/test.sh 이 파일에서 php 파일을 실행시킵니다.

 6404 ?        S      0:00 CROND
 6405 ?        S      0:00 /bin/bash /usr/bin/run-parts /etc/cron.test
 6406 ?        S      0:00 /bin/bash /etc/cron.test/test.sh
 6407 ?        S      0:00 /usr/local/php/bin/php /home/####/test.php
 6408 ?        S      0:00 awk -v progname=/etc/cron.test/test.sh progname {?????   print progname ":\n"?????   progname="";????       }????       { pri

저렇게 프로세스가 남아서 사라지질 않습니다. php 파일 내용은 다른 웹서버로 CURL 을 이용하여 접속한뒤, 페이지 내용을 긁어옵니다. 긁어오는데 10초~20초 정도 걸리더군요. php 파일을 쉘에서 직접 실행시킬때, timeout 제한을 걸거나, 좀비화되는걸 막을 수 있는 방법 있을까요?

그리고, awk 는 정확히 어떤 역할을 하는건가요?

CURL의 옵션중에 CURLOPT_TIMEOUT라는것으로 타임아웃을 걸어주면(당연히 원하는 작업을 할수 있을 정도의 시간을 줘야겠지요^^) 되지 않을까 싶습니다.

아무래도 하시는 작업이 주기적인 서비스 모니터링이 아닐까 싶습니다 ;)

============================================
자나깨나 트롤 조심. 나간 트롤 다시보자.
"저는 앞으로 troll을 만나더라도 먹이를 주지 않도록 노력하겠습니다." :)

망치의 이미지

일단 알려주신 옵션을 이용해 40초 정도로 타임아웃을 잡아줬습니다.

감사합니다. :)

---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/