在 Linux 上后台运行 Python 应用程序

在 Linux 上后台运行 Python 应用程序

这个问题很奇怪,但我在 Linux 服务器上玩 python 聊天服务器/客户端组合。目前,如果我这样做:

$: cd /path/to/chat/server
$: sudo python ChatServer_Listen.py

这将启动 python 应用程序运行循环并且服务器监听传入的 TCP 连接。

我的问题是,如果我关闭终端窗口,ssh 会话就会退出,python 应用程序会停止运行,客户端也无法再连接。我不想在本地全天候运行终端实例。我可以将此 python 应用程序设置为可以在 Linux 后台运行的应用程序吗?如果可以,该怎么做?理想情况下,它应该有点像 Apache,只是作为服务运行。

谢谢你的协助!

答案1

您可以使用nohup python ChatServer_Listen.py &

nohup将会将您的程序输出记录到nohup.out文件中。

要停止程序,您必须使用kill your_pid命令。

答案2

你想使用导师。它正是为此目的而设计的,此外它还可以执行诸如在进程终止时重新启动进程、提供基于 Web 的 GUI 来控制它等操作。

答案3

注销后保持进程活动的简单方法是使用屏幕

答案4

正确的做法是修改代码,让进程正确守护。一种方法是使用模块daeminize

执行此操作的便捷方法(也适用于您无法修改的软件)是像这样启动它

nohup python ChatServer_Listen.py >logfile.txt 2>&1 </dev/null &

请注意,我没有使用sudo。这是因为您应该将上面的行放在 shell 脚本中,然后使用 sudo 运行该 shell 脚本。

相关内容