Python使用nohup实现远程服务器后台运行与进程管理

Ruby
Ruby
发布时间:2026-10-13 | 5人浏览过
原创

本文详解如何在远程服务器中使用nohup命令运行Python脚本,实现断电或窗口关闭后程序不中断。涵盖命令语法、实时日志查看方法、进程终止步骤,以及解决Xshell等终端工具中nohup挂起失效的特定技巧,确保长时间运行的任务稳定执行。

远程运行nohup的核心价值

在远程服务器上进行长时间计算或训练时,最担心的情况是连接意外断开或服务器断电,导致耗时数小时的任务瞬间终止。

利用nohup命令可以将程序置于后台运行,并记录输出日志,从而有效避免因终端关闭或网络波动导致的进程中断。

具体操作步骤如下:

nohup启动Python脚本的标准方法

首先,通过nohup启动Python脚本。

nohup python -u main.py > nohup.out 2>&1 &

执行上述命令时,请将main.py替换为你实际的文件名,输出文件nohup.out也可自定义为其他名称(如nohup1.out)。其余参数保持不变,直接复制执行即可。

执行成功后,终端通常会返回一个进程ID(PID)及对应的提示符。

若需实时监控脚本的输出日志,可另开一个终端窗口,输入以下命令:

tail -fn 50 nohup.out

此时即可实时查看程序运行状态。

后台进程的查看与终止操作

若需停止正在运行的脚本,需先定位进程ID,再强制终止。

依次执行以下命令:先使用jobs查看当前作业,再用jobs -l获取详细进程ID,最后通过kill -9 PID强制杀死指定进程。

补充说明:在某些特定终端环境下,nohup的挂起行为可能表现异常。

Xshell环境下nohup失效的解决方案

常见问题排查:

部分用户反馈,在使用Xshell执行类似nohup serve -s ./build -p 8081 > /dev/null 2>&1 &的命令后,直接关闭终端窗口,程序并未如预期在后台挂起运行。

针对上述问题的解决方案:

在Xshell中执行完nohup命令后,务必手动输入exit命令退出当前会话,以确保后台进程正确挂起。

以上即为Python利用nohup实现远程稳定运行的完整指南,供参考使用。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表