如何通过命令行运行php脚本(并在注销后保持运行)

Vin*_*yak 10 php debian putty remote-server

我试图通过命令行在我的远程虚拟专用服务器上运行PHP脚本.我遵循的流程是:

  1. 使用PuTTY登录服务器
  2. 在命令行提示符下,键入> php myScript.php

脚本运行得很好.但问题是,一旦我关闭PuTTY控制台窗口,脚本就会停止运行.

我需要脚本继续无休止地运行.我怎样才能做到这一点?我在服务器上运行Debian.

提前致谢.

Ste*_*eet 17

我相信Ben有正确的答案,即使用nohup命令.nohup代表nohangup并且意味着你的程序应该忽略一个挂断信号,当你通过注销或者你已经超时你的putty会话断开连接时产生.

您需要知道命令的输出将附加到名为nohup.out的当前目录中的文件中(如果权限阻止您在当前目录中创建nohup.out,则会附加到$ HOME/nohup.out).如果您的程序生成大量输出,那么此文件可能会变得非常大,或者您可以使用shell重定向将脚本的输出重定向到另一个文件.

nohup php myscript.php >myscript.output 2>&1 &
Run Code Online (Sandbox Code Playgroud)

此命令将运行您的脚本并将所有输出(标准和错误)发送到文件myscript.output,每次运行程序时都会重新创建.

最后的脚本会导致脚本在后台运行,因此您可以在运行或注销时执行其他操作.


Ben*_*Ben 9

一个简单的方法是通过nohup运行它:

nohup php myScript.php & 
Run Code Online (Sandbox Code Playgroud)