gpt4 book ai didi

php - Unix 'at' 命令并返回作业号

转载 作者:可可西里 更新时间:2023-10-31 23:41:10 26 4
gpt4 key购买 nike

我目前正在使用 unix at 命令来安排将来的作业。但是,如果我认为有必要,我也希望能够删除这些作业。有什么办法可以在创建job后立即获取job number?我知道 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 now)

在 shell 和 echo $var 中我得到一个空行。为什么 var 不保存输出?

最佳答案

$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";
}

关于php - Unix 'at' 命令并返回作业号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19308469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com