"at" 작업의 파일 이름과 작업 번호를 얻는 방법

"at" 작업의 파일 이름과 작업 번호를 얻는 방법

일련의 작업을 생성하는 스크립트(생성기)가 있습니다 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;
?>

관련 정보