gpt4 book ai didi

php - 使用 php nohup 执行多个 shell 命令

转载 作者:行者123 更新时间:2023-12-04 06:48:29 29 4
gpt4 key购买 nike

我想用 php 的 exec 命令执行多个 shell 命令。命令必须按顺序执行,我想用 nohup 启动它们,这样它就可以在后台运行,而我的 php 脚本不必等待它完成。
这是我的脚本:

$command1="nohup convert -trim +repage pic1.png pic2.png; convert pic2.png -thumbnail 500x10000 pic3.png; convert pic2.png -resize 115x1000 -gravity Center -crop 115x196+0+0  +repage pic4.png; rm pic1.png; rm pic2.png > /dev/null 2> /dev/null & echo $";
$output = exec($command1 . ' 2>&1', $output, $return);

可以看到,因为我要编辑一张之前修剪过的图片,所以需要按顺序排列。命令本身和顺序部分运行良好,但 nohup 不适用于整个 $command1。我不确定它是否真的没有做任何事情,或者只是在最后一个命令(rm pic2.png)上工作。

任何帮助是极大的赞赏。
谢谢

最佳答案

我解决了我的问题 - 即使这是一种解决方法。

我将 shell 脚本放入批处理脚本中,我使用 exec("nohup batch.sh > /dev/null 2>&1 &"); 从 php 调用该脚本。

在批处理脚本中,我执行如下 shell 命令:nohup convert -trim +repage pic1.png pic2.png && nohup convert pic2.png -thumbnail 500x10000 pic3.png &
效果很好!

关于php - 使用 php nohup 执行多个 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3457026/

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