Linux(Ubuntu)使用setsid命令后台运行python代码并记录终端输出,并实现开机自启

本文介绍了在Ubuntu系统中,如何使用setsid命令代替nohup来后台运行Python代码,并记录终端输出。通过创建start.shbash脚本,利用setsid可以使进程不受HUP信号影响,同时给出了实现开机自启动的方法,涉及修改.bash_profile文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、摘要

本文主要讲解:Linux(Ubuntu)使用setsid命令后台运行python代码并记录终端输出,并实现开机自启
主要思路:

  1. setsid命令 比nohub命令好用,setsid有些系统默认已安装,nohub比较难安装
  2. 终端输出记录
  3. 实现自启

2、相关技术

nohup 能通过忽略 HUP 信号来使我们的进程避免中途被中断,但是如果我们的进程不属于接受 HUP 信号的终端的子进程,那么自然也就不会受到 HUP 信号的影响了。setsid 就能帮助我们做到这一点。
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值