【问题标题】:CentOS start php script in background [closed]CentOS在后台启动php脚本[关闭]
【发布时间】:2018-04-05 17:58:36
【问题描述】:

我正在尝试从命令行在后台启动程序:

[root@my]# php file.php&
[1] 16897
[root@my]# bg
[1]+  Stopped file.php

不管是哪个php启动,问题出在哪里,总是停不下来?

【问题讨论】:

  • 这不是一个编程问题,所以它不属于 Stack Overflow。我建议将其发布在服务器故障或其他地方。
  • 如果您使用的是 & 我认为您不需要 bg 该过程。
  • @drrcknlsn unix.stackexchange.com 对于这样的事情会更好,因为它实际上是关于使用 unix 而不是系统管理。

标签: bash background centos


【解决方案1】:

用 nohup 试试

nohup php -r 'while (true) { echo "a";}' &

对我来说很好(在 kubuntu 上)。


注意:标准输出:

标准输出被重定向到nohup.out(如果它还没有被重定向); nohup.out 位于您在命令行中运行命令的文件夹中。

所以要小心正确处理输出,否则几天/几个月后你可能会得到一个非常大的文件


注意 2:停止进程:

作为后台进程的最后一个&将打印PID。要终止 nohup 进程,请运行:

kill {PID}

(其中 {PID} 是执行“nohup php -r 'while (true) { echo "a";}' &”命令后打印的 PID)。

如果你需要强制杀死,你也可以使用kill -9 {PID}

【讨论】:

  • nohup php newEmptyPHP.php & 也是如此。 (各种来源,包括linuxquestions.org/questions/linux-newbie-8/…(没有给出解决方案,但给出了解决问题的想法))
  • 读者注意!将近一个月后,我发现了一个名为 nohup.out 的 12G (!!) 文件。而且文件中只有“a”!所以是的,如果它在后台工作,标准输出将被重定向到 'nohup.out' 。它位于您在命令行中运行命令的文件夹中。
  • 你将如何阻止脚本运行?
【解决方案2】:
nohup php newEmptyPHP.php &

在 CentOS 上运行良好!!!感谢塞德里克!

【讨论】:

    猜你喜欢
    • 2013-02-08
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 2016-06-08
    • 1970-01-01
    相关资源
    最近更新 更多