前言

我们在运行程序时,有的程序花费时间较多,但我们总不能一直看着程序运行,所以我在这里记录一下,Linux服务器如何后台运行我们的脚本程序

nohup方式

我们登录到服务器,切换至目录到我们所要运行的程序下
例如:这里我的程序是main.py
在这里插入图片描述

然后输入以下命令:

nohup python3.6 -u main.py > output.log 2>&1 &

注意,这里我的是python3.6,你们的可能是python或者python3
解释一下:

  • nohup:忽略终端关闭信号;
  • python3 表示要运行的 Python 解释器版本,这里是 Python 3.6。
  • -u 参数表示以 unbuffered 模式运行 Python,即输出立即刷新,而不是缓存后一起输出;
  • main.py 是要运行的 Python 代码文件名。
  • > 重定向标准输出;
  • output.log:指定日志文件名;
  • 2>&1:将标准错误输出重定向到与标准输出相同的位置;
  • &:使命令在后台运行。

在这里插入图片描述

按下 Enter 键执行命令后,您会看到一个输出类似于 nohup: ignoring input 的消息。这意味着您的 Python 代码已经在后台启动

可以通过以下命令查看运行信息

cat output.log

在这里插入图片描述

验证脚本是否在后台运行

ps aux | grep main.py

可以看到我们的程序确实是在后台运行
在这里插入图片描述

结束后台任务

pkill -f main.py

screen方式

安装

yum install -y screen

新建一个screen

screen -S erl_dqn_screen

这样会新开一个窗口,切换到你的程序目录,然后执行命令即可

python xxx.py

然后ctrl+a+d 跳出screen,这时你的代码会在后台运行

如果想要回到Screen
可以先通过以下命令,查看你当前的screen

screen -ls 

在这里插入图片描述

然后

screen -d -r    xxx

xxx是红方框的内容

然后就可以看到后台的输出

关闭方式

# 如果在窗口中
exit
# 如果不在窗口中(即窗口无法连接了)
screen -X -S id(窗口id) quit

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐