python 脚本相关
建议
要使用 FinalShell 客户端运行 Python 脚本并在退出后保持其持续运行,可以按照以下步骤操作:
一、运行 Python 脚本的基础方法
连接服务器
打开 FinalShell,通过 SSH 连接到目标服务器,进入终端界面。执行脚本
输入命令运行脚本,例如:bashpython3 your_script.py # 若系统默认Python版本为3.x
或指定 Python 路径(如环境复杂时):
bash/usr/bin/python3 your_script.py
二、保持脚本运行的常用方案
方法 1:使用 nohup
命令(推荐)
nohup
可让进程忽略挂断信号(SIGHUP),即使 SSH 断开仍持续运行。
操作步骤:
bash
nohup python3 your_script.py > output.log 2>&1 &
> output.log
:将标准输出重定向到日志文件。2>&1
:将错误输出合并到标准输出。&
:后台运行。
验证是否运行:
bash
ps aux | grep python3 # 查看进程状态
方法 2:使用 screen
或 tmux
会话工具
通过会话管理工具创建独立终端环境,退出后脚本仍保留。
操作步骤:
- 安装 screen(如未预装):bash
sudo apt-get install screen # Debian/Ubuntu系统
- 创建新会话:bash
screen -S python_session
- 运行脚本:bash
python3 your_script.py
- 按
Ctrl+A
后按D
分离会话(脚本继续运行)。 - 重新连接会话:bash
screen -r python_session
方法 3:结合 &
和 disown
临时后台运行并解除进程与终端的关联:
bash
python3 your_script.py & # 后台运行
disown -h %1 # 解除关联(%1为作业编号)
三、方案对比与建议
方法 | 优点 | 缺点 |
---|---|---|
nohup | 无需额外安装,日志记录方便 | 需手动管理输出文件 |
screen | 可交互式操作,适合调试 | 需学习会话管理命令 |
disown | 快速解除关联 | 无日志记录,依赖作业编号 |
推荐场景:
- 长期运行且需日志:选择 nohup。
- 需要中途查看输出:使用 screen。
四、注意事项
- 权限问题:确保脚本有执行权限(
chmod +x your_script.py
)。 - 环境依赖:若脚本依赖虚拟环境,需先激活环境再运行。
- 资源监控:可通过
top
或htop
查看脚本资源占用。
通过上述方法,即使关闭 FinalShell,脚本仍会在服务器后台持续运行。