我目前正在使用unix at命令来安排将来的工作.但是,如果我认为有必要,我也希望能够删除这些工作.有没有办法在创建工作后立即获得工作号码?我知道atq可以显示待处理作业的列表,但我希望能够在创建作业后立即获取
PHP代码中的作业号.我可以运行atq命令但是如果在我获得队列中的最后一个作业之前创建了另一个作业呢?然后我没有正确的工号.
长话短说,有没有办法用at命令创建一个作业,我可以在不使用atq命令的情况下得到作业号?
例如,我的代码是:
exec('echo /usr/bin/PHP -f /home/site/public_html/test.PHP | sudo /usr/bin/at Now');
我正在查看命令替换,一条评论建议如何从这个PHP exec()代码中获取作业号.
当我尝试
var = $(echo /usr/bin/PHP -f /home/site/public_html/test.PHP | sudo /usr/bin/at)
解决方法
$x=exec("echo sleep|at 14:00 2>&1"); $match=""; if(preg_match("/^job\s*(\d+)\s*/",$x,$match)){ $job= $match[1]; print "job: ". $job . "\n"; }