shell_exec 不在后台运行,还有其他解决方案吗?

发布于 2024-12-01 19:37:35 字数 223 浏览 3 评论 0原文

我在 CentOS 上的 apache 中使用 php。 我需要为用户提供服务,他们可以通过点击删除大文件。 尝试使用 shell_exec。 但它不在后台运行。 它运行并让用户等待。

我的命令:

$D_command="rm -rf 视频/'$Mdelete'";

shell_exec($D_command);

谢谢!

i'm using php in apache on CentOS.
i'm need to serve users, that they can delete big files by click.
trying to use shell_exec.
but its not run in the background.
it runs and make the user wait.

my command :

$D_command="rm -rf videos/'$Mdelete'";

shell_exec($D_command);

thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

猫性小仙女 2024-12-08 19:37:35

屁股 &在命令的末尾。

$D_command="nohup rm -rf videos/'$Mdelete' > /log/deletedfile.log 2>&1 &";

ass & at the end of the command.

$D_command="nohup rm -rf videos/'$Mdelete' > /log/deletedfile.log 2>&1 &";
弥繁 2024-12-08 19:37:35
$PID = shell_exec("nohup $Command 2> /dev/null & echo $!");

http://php.net/manual/en/function.shell-exec.php

$PID = shell_exec("nohup $Command 2> /dev/null & echo $!");

http://php.net/manual/en/function.shell-exec.php

墨小墨 2024-12-08 19:37:35

尝试

rm -rf videos/'$Mdelete' &

使用 exec 运行。 & 符号表示运行到后台

Try running

rm -rf videos/'$Mdelete' &

using exec. The ampersand indicates to run to the background

淡紫姑娘! 2024-12-08 19:37:35

试试这个:

popen($D_command, 'r')

Try this:

popen($D_command, 'r')
对岸观火 2024-12-08 19:37:35

我知道这是一个相当老的问题,但我也遇到了同样的问题,这是在尝试使用 execshell_execprocess_open 失败后唯一可行的解​​决方案:

$process = popen("nohup $D_command > /dev/null 2> /dev/null & echo $!", 'r');
$pid = fread($process, 32);

I know this is quite an old question, but I had the same issue, and this was the only working solution after trying and failing with exec,shell_exec, process_open:

$process = popen("nohup $D_command > /dev/null 2> /dev/null & echo $!", 'r');
$pid = fread($process, 32);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文