跳到主要内容

python脚本相关

提示

要使用FinalShell客户端运行Python脚本并在退出后保持其持续运行,可以按照以下步骤操作:

一、运行Python脚本的基础方法

  1. 连接服务器
    打开FinalShell,通过SSH连接到目标服务器,进入终端界面。

  2. 执行脚本
    输入命令运行脚本,例如:

    python3 your_script.py  # 若系统默认Python版本为3.x

    或指定Python路径(如环境复杂时):

    /usr/bin/python3 your_script.py

二、保持脚本运行的常用方案

方法1:使用 nohup 命令(推荐)

nohup 可让进程忽略挂断信号(SIGHUP),即使SSH断开仍持续运行。
操作步骤

nohup python3 your_script.py > output.log 2>&1 &  
  • > output.log:将标准输出重定向到日志文件。
  • 2>&1:将错误输出合并到标准输出。
  • &:后台运行。
    验证是否运行
ps aux | grep python3  # 查看进程状态

方法2:使用 screentmux 会话工具

通过会话管理工具创建独立终端环境,退出后脚本仍保留。
操作步骤

  1. 安装screen(如未预装):
    sudo apt-get install screen  # Debian/Ubuntu系统
  2. 创建新会话:
    screen -S python_session  
  3. 运行脚本:
    python3 your_script.py  
  4. Ctrl+A 后按 D 分离会话(脚本继续运行)。
  5. 重新连接会话:
    screen -r python_session  

方法3:结合 &disown

临时后台运行并解除进程与终端的关联:

python3 your_script.py &  # 后台运行  
disown -h %1 # 解除关联(%1为作业编号)

三、方案对比与建议

方法优点缺点
nohup无需额外安装,日志记录方便需手动管理输出文件
screen可交互式操作,适合调试需学习会话管理命令
disown快速解除关联无日志记录,依赖作业编号

推荐场景

  • 长期运行且需日志:选择 nohup
  • 需要中途查看输出:使用 screen

四、注意事项

  1. 权限问题:确保脚本有执行权限(chmod +x your_script.py)。
  2. 环境依赖:若脚本依赖虚拟环境,需先激活环境再运行。
  3. 资源监控:可通过 tophtop 查看脚本资源占用。

通过上述方法,即使关闭FinalShell,脚本仍会在服务器后台持续运行。