gpt4 book ai didi

php执行一个后台进程

转载 作者:IT老高 更新时间:2023-10-28 11:38:38 25 4
gpt4 key购买 nike

我需要在用户操作时执行目录复制,但是目录非常大,所以我希望能够在用户不知道完成复制所需时间的情况下执行这样的操作。

任何建议将不胜感激。

最佳答案

假设这是在 Linux 机器上运行,我总是这样处理它:

exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));

这会启动命令 $cmd,将命令输出重定向到 $outputfile,并将进程 ID 写入 $pidfile

这让您可以轻松监控进程正在做什么以及它是否仍在运行。

function isRunning($pid){
try{
$result = shell_exec(sprintf("ps %d", $pid));
if( count(preg_split("/\n/", $result)) > 2){
return true;
}
}catch(Exception $e){}

return false;
}

关于php执行一个后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45953/

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