为什么这个进程不在后台运行?

发布于 2024-11-05 05:06:01 字数 547 浏览 0 评论 0原文

所以基本上我想运行将生成大约 15k pdf 文件的脚本,并且由于 php max_timeout 而需要从 shell 完成...

服务器:Ubuntu 10.04.1 PHP : 5.3.2-1ubuntu4.5

所以我目前尝试过:

function run_in_background($Command){
    $ps = shell_exec("nohup php5 $Command > /dev/null 2> /dev/null & echo $!");
    return $ps;
}

$ok = run_in_background('/var/www/custom/web/public/make_pdf.php');

if(!empty($ok))
    var_dump($ok);
else
    exit('Fail');

之后我进入 ssh 控制台并执行 ps $ps ,作为响应,我只得到没有信息的标头 - 巫婆意味着过程是没有运行...

我该如何做到这一点才能正常工作?

So basically i want to run script that will make around 15k pdf files, and it needs to be done from shell because of php max_timeout...

Server: Ubuntu 10.04.1
PHP : 5.3.2-1ubuntu4.5

So what i currently tried:

function run_in_background($Command){
    $ps = shell_exec("nohup php5 $Command > /dev/null 2> /dev/null & echo $!");
    return $ps;
}

$ok = run_in_background('/var/www/custom/web/public/make_pdf.php');

if(!empty($ok))
    var_dump($ok);
else
    exit('Fail');

And after that i go to ssh console and do ps $ps and in response i get headers only with no info - witch means process is not running...

How can i do this so it works?

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

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

发布评论

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

评论(2

那伤。 2024-11-12 05:06:01

尝试不使用 echo $! 或以 & 结尾。如果您想“内联”运行 2 个进程,请使用 && 而不是简单的 &

示例: nohup php5 $Command > /dev/null 2> /dev/null &&回声$! &

要检查进程是否因错误而结束,请执行以下操作:

nohup php5 $Command > command_stout.txt 2> command_stderr.txt &&回声$! &

Try without echo $! or ending with &. If you want to run 2 proccess 'inline', use && instead of a simple &.

Example: nohup php5 $Command > /dev/null 2> /dev/null && echo $! &

To check if the proccess end with error do this:

nohup php5 $Command > command_stout.txt 2> command_stderr.txt && echo $! &

泪之魂 2024-11-12 05:06:01

尝试将 &命令后:

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

Try to put a & after Command :

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