2014-09-04 4 views
0

OS X의 데몬은 경험이 거의 없지만 60 초마다 PHP 파일을 반복적으로 실행하는 하나의 실행을 관리합니다. 그것은 잘 작동하는 것, 그리고 아무 문제없이 한 번에 몇 주 동안 실행됩니다. 그러나 때로는 내가 알아 내지 못했던 이유로 일을 멈추게됩니다. 이 문제가 발생하면 내 데몬은 더 이상 launchctl 목록에 나열되지 않습니다. launchctl 시작을 실행하면 문제없이 다시 시작됩니다.예기치 않게 종료되는 LaunchDaemon

이 겉으로보기에 무작위로 종료 된 이유를 어떻게 알 수 있습니까? PHP 파일은 온라인 API에서 데이터를 요청하고 검색된 정보로 MySQL 데이터베이스를 업데이트하는 데 사용됩니다.

여기 내 PLIST 파일의 내용입니다 :

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
<key>Label</key> 
<string>mschirma.automator</string> 
<key>ProgramArguments</key> 
<array> 
<string>/usr/bin/php</string> 
<string>/Library/WebServer/Documents/automator/time_log.php</string> 
</array> 
<key>StartInterval</key> 
<integer>60</integer> 
</dict> 
</plist> 

감사

답변

0

이 0이 아닌 상태 코드로 종종 종료하면 launchd에 관리 데몬의 목록에서 데몬을 제거합니다. 따라서 PHP 스크립트를 점검하고 네트워크 나 DB에 문제가 발생하더라도 항상 0 코드로 종료해야합니다.

+0

고마워요! 내 PHP 스크립트는 원격 API에 연결할 수 없을 때 시간 초과되어 설명했던 것과 정확히 일치하게됩니다. –