1.有界面的情况下
可以安装Startup Application 然后配置
2.无界面的情况下
1.可以使用systmd/sytem/xx.service
首先在/etc/systemd/system/下新建一个myservice.service 然后编写这个文件
sudo vim myservice.service
添加内容
[Unit]
Description=My Service
After=network.target
[Service]
Type=forking
WorkingDirectory=/home/ubuntu/hzj/
ExecStart=/home/ubuntu/hzj/startup.sh
[Install]
WantedBy=multi-user.target
在/home/ubuntu/hzj/下新建startup.sh,里面是要启动的命令
#!/bin/sh
echo 123 | sudo -S create_ap -m nat wlan0 eth0 ubuntu 12345678 -g 192.168.12.1 > /dev/null 2>&1 &
nohup python3 main.py &
nohup python3 send_dianya.py &
nohup python3 websocket_server.py &
exit 0
主要就是开启一个热点,然后启动Python服务,需要注意的是,在myservice.service下面要设置工作目录为放这些python文件的文件夹,forking是后台运行的意思。还需要注意的事,开机默认启动的root用户,所以使用的环境也是root里面的Python环境,所以需要在root里面安装Python所依赖的包。
然后就是设置启动服务 首先在开机状态下验证一下这个服务是否可行
sudo systemctl daemon-reload
sudo systemctl stop myservice.service
sudo systemctl start myservice.service
sudo systemctl status myservice.service
如果没有报错,程序启动正常,那样就设置开机自启动这个服务
sudo systemctl enable myservice.service
sudo reboot
如果想要移除这个服务的自启动,可以使用
sudo systemctl disabled myservice.service
2.可以使用/etc/profile.d/
可以在profile.d下面添加xx.sh文件,开机会自启动他,但是这个一般是配置环境变量,他的启动时机是在用户登录的时候启动,所以只要有用户登录就会触发。