linux设置开机自启动

开机自启动掌握以下两种即可

一、做成服务(service)

1、按以下模板编写一个service文件,如我需要做一个 npc进程开机自启的功能,我设计的 npc.service 内容如下:

[Unit]
Description="npc"
After=network.target

[Service]
Type=simple
ExecStart=/home/moi/npc/start_npc.sh
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

以上关键字段解释如下:
systemd配置文件主要项目说明:

控制单元[Unit]:记录unit文件的通用信息
Description:单元的描述,内容可以任意书写,

服务[Service]:记录service的信息
Type:service的种类。
(1)simple(默认):启动的程序是主体程序,这个程序退出那么一切都退出。如果是像上面的配置(ExecStart=/home/moi/npc/start_npc.sh)通过脚本把主程序启动起来,这就需要这个脚本是永不退出的;
(2)forking:启动程序后会调用 fork() 函数,把必要的通信频道都设置好之后父进程退出,留下子进程。这种方式启动,启动脚本启动完之后是可以退出的;
(3)oneshot:就是启动,完成,没进程。
ExecStart:服务启动时执行的命令,通常是服务的主体。
Restart:定义服务何种情况下重启。

2、将上面的 service文件拷贝进目录:/lib/systemd/system

sudo cp ./npc.service /lib/systemd/system

3、使能并启动服务

sudo systemctl enable npc.service
sudo systemctl start npc.service
sudo systemctl status npc.service

二、做成.desktop文件放置在~/.config/autostart/

1、按以下模板编写一个 .desktop文件如下

powerBoot.sh.desktop

[Desktop Entry]
Type=Application
Exec=/home/moi/robotself_new_deploy/bin/powerBoot.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=powerBoot.sh
Name=powerBoot.sh
Comment[en_US]=
Comment=

关键字段解释:
Exec:启动程序需要执行的命令

2、将以上文件拷贝进目录:~/.config/autostart/

cp powerBoot.sh.desktop ~/.config/autostart/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值