Linux(Ubuntu)在后台运行程序

Linux(Ubuntu)在后台运行程序

我正在尝试通过 SSH(Putty)在我的 Linux 服务器后台运行 PHP 脚本,但是我无法让它发挥作用。

我想要在后台运行的命令是:

php buildscript/build_css.php作为root@FIG-VMSAM:/var/www/wem#

我已经尝试过这个,但只得到这个并且不起作用,(不要为我构建 CSS)

root@FIG-VMSAM:/var/www/wem# php buildscript/build_css.php &
[1] 2274

[1]+  Stopped                 php buildscript/build_css.php

我也尝试过正常启动命令,然后将其置于后台,<Ctrl>+z 但它也不起作用。

作为我的 PHP 脚本的背景,我使用system()并调用stylus http://learnboost.github.com/stylus/ 这是否inotifywait有帮助?

有人知道为什么这对我不起作用吗?

答案1

另一个快速答案是..假设该程序确实不需要用户输入:

 php buildscript/build_css.php </dev/null &

它停止的原因是该程序stdin由于某种原因正在打开,即使它可能不需要任何输入。

答案2

是否可以在单独的屏幕上运行脚本?

sudo apt-get install screen

然后使用screen -S screennamescreenname 为您给屏幕会话指定的名称。

进入屏幕后,你可以输入命令,php buildscript/build_css.php

要离开会话,请使用ctrl++ ad

要返回会话,请使用screen -r screenname

不用担心,当您离开会话时,命令仍将在后台继续运行。

相关内容