linux 后台运行程序可以用 nohup 命令,参考上一篇文章
。
若要开机启动,有几种方法:
1、添加命令:
打开 /etc/rc.local,往里添加所要运行的命令(绝对路径),如:
nohup python /home/test/test.py &
2、添加脚本:
新建 test.sh 脚本,
#!/bin/sh
cd /home/test
nohup python test.py &
将写好的脚本放置于目录:/etc/profile.d/
linux 系统启动后会执行此目录下的sh脚本;
3、添加服务
新建 test_srs.sh:
#!/bin/sh
# chkconfig: 2345 85 15
# description:auto_run
#程序根位置
MY_ROOT=/home/test
#运行程序位置
MY_PATH="${MY_ROOT}objs/test_srs"
#LOG位置
LOG_PATH="$MY_ROOT"log.txt
#开始方法
start() {
cd $MY_ROOT
nohup python $MY_PATH -c conf/z.conf>$LOG_PATH &
echo "$MY_PATH start success."
}
#结束方法
stop() {
kill -9 `ps -ef|grep $MY_PATH|grep -v grep|grep -v stop|awk '{print $2}'`
echo "$MY_PATH stop success."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Userage: $0 {start|stop|restart}"
exit 1
esac
设置执行权限:
chmod +x /home/test/test_srs.sh
添加系统服务:
chkconfig --add test_srs.sh
开机自启动
chkconfig test_srs.sh on
查看所有
chkconfig --list
启动服务:
service test_srs.sh start
停止服务:
service test_srs.sh stop
查看启动情况:
lsof -i:1935
参考资料
https://www.psvmc.cn/article/2019-10-25-linux-boot-run.html
网友评论