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

标签 php debian putty remote-server

我正在尝试通过命令行在我的远程虚拟专用服务器上运行一个 php 脚本。我遵循的过程是:

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

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

我需要脚本不断运行。我怎样才能做到这一点?我在服务器上运行 Debian。

提前致谢。

最佳答案

我相信 Ben 的答案是正确的,即使用 nohup 命令。 nohup 代表 nohangup,意味着你的程序应该忽略一个挂断信号,当你的 putty session 因你注销或你已经超时而断开连接时生成。

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

nohup php myscript.php >myscript.output 2>&1 &

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

最后的 & 使脚本在后台运行,因此您可以在它运行或注销时做其他事情。

关于php - 如何通过命令行运行 php 脚本(并在注销后保持运行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/575345/

相关文章:

linux - Amazon EC2 微型实例 - 空间不足?

c# - 使用 C# 读取 PuTTY 输出

linux - 无法使用 linux 连接到防火墙代理后面的 svn

php - 反向图像存档 : stacking images from bottom to top with CSS/Javascript?

php - 当数据库中存储在缓存中的相同数据的值发生更改时,如何更新缓存值

c++ - 在 Debian 上为您自己的应用程序添加 SNMP 支持的最佳方式

php - 在 Debian 9 中安装 php5.6

PHP -\u00f8 (ø) 变为 u00f8

javascript - jQueryMobile - 从其他页面调用 JavaScript

mongodb - 从 mongodb 数据库中删除一个表