때로는 특정 프로그램을 모니터링하기 위해 예약된 작업이 필요할 때가 있습니다. 프로그램이 자동으로 실행되어야 합니다.
1.ignore_user_abort()
ignore_user_abort() 함수를 set_time_limit(0) 및 sleep($interval)과 함께 사용하여 자동 프로그램 실행 및 업데이트를 실현할 수 있습니다.
예:
//클라이언트 연결이 끊어지더라도(예: 브라우저 닫기) PHP 스크립트는 계속 실행될 수 있습니다.
ignore_user_abort() ;
//PHP의 기본 실행 시간은 30초로 제한 없이 프로그램을 실행할 수 있습니다.
set_time_limit(0);
//5분마다 실행
$interval=60*5;
do{
$url = "http://yaolei.info ";
$ch = 컬_init();
컬_setopt($ch, CURLOPT_URL, $url);
컬_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
컬_setopt($ch, CURLOPT_TIMEOUT, 2);
$result = 컬_exec($ch);
컬_close($ch);
// 대기 5분
sleep($interval);
}while(true);
위 페이지를 실행하고 그런 다음 닫으면 프로그램이 계속 실행됩니다.
2. crontab
Linux에는 더 간단한 방법이 있는데, 바로 crontab 명령입니다.
crontab 명령의 기능은 특정 시간 간격으로 일부 명령의 실행을 예약하는 것입니다.
crontab 사용법: crontab [ -e | -l | -r ] 파일 이름 -e: 작업 편집 -l: 작업 정보 표시 -r: 예약된 실행 작업 정보 삭제
crontab 형식:
* * * * * 명령어
시간, 일, 월, 주별로 실행하는 명령어
crontab 예시: