1、摘要
本文主要讲解:Linux(Ubuntu)使用setsid命令后台运行python代码并记录终端输出,并实现开机自启
主要思路:
- setsid命令 比nohub命令好用,setsid有些系统默认已安装,nohub比较难安装
- 终端输出记录
- 实现自启
2、相关技术
nohup 能通过忽略 HUP 信号来使我们的进程避免中途被中断,但是如果我们的进程不属于接受 HUP 信号的终端的子进程,那么自然也就不会受到 HUP 信号的影响了。setsid 就能帮助我们做到这一点。
3、完整代码和步骤
start.sh
#!/bin/bash
#python.sh
#!/usr/bin/env bash
Cur_Dir=$(pwd)
echo $Cur_Dir
setsid python -u $Cur_Dir/infer_api.py > $Cur_Dir/infer_api.out 2>&1 &
echo started $Cur_Dir/infer_api.py
注意:如果python不行的话,应该换成python3,如果提示找不到路径的话,建议到python文件的目录执行
实现自启方法(支持非管理员用户):
1、使用nano打开~/.bash_profile
nano ~/.bash_profile
nano下载可移步我的下载:
2、将以下内容添加至此文件中
bash start.sh