일련의 작업을 생성하는 스크립트(생성기)가 있습니다 at
. 이러한 at
작업은 또 다른 PHP 스크립트를 트리거합니다. 생성기 스크립트는 반복되어 다음과 같은 작업을 수행합니다.
exec('/usr/bin/at 5:00 May 11, 2015 -f ' . $filename);
$filename은 다음과 같습니다:
php /some-location/some-script.php arg1 arg2 arg3
그것은 훌륭하게 작동하고 우리는 그것을 좋아합니다. 제가 알아내려는 것은 /var/spool/at/filename
생성기 스크립트가 실행되는 동안 작업 ID와 파일 이름을 가져와서 예약 후 변경/취소해야 하는 경우에 대비해 저장할 수 있는 방법입니다.
일자리를 exec()
만든 사람 으로부터 이 정보를 어떻게 얻을 수 있는지 아는 사람이 있나요 ?at
답변1
PHP 문서에 따르면구현하다():
출력 매개변수가 있는 경우 지정된 배열이 명령 출력의 각 행을 채웁니다.
귀하의 버전에서 at
위치 번호를 선언합니까?
$ echo /bin/true | at now + 1hour
job 1 at Fri Apr 24 12:00:00 2015
그렇다면 다음을 사용할 수 있습니다.터지다()작업 번호를 얻으려면 공백 구분 기호를 사용하십시오.
<?php
// Remember to redirect stderr to stdout with "2>&1"
$command = "echo /bin/true | at now + 1hour 2>&1";
$at_message = explode(" ", exec($command, $output, $return_value));
$job_number = $at_message[1];
echo $job_number;
?>