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

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

本文详解如何在远程服务器中使用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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。