linux ubuntu实现自启动app

­

在系统的根目录下面,new一个新的service文件出来,/etc/systemd/system/my-auto-start-app.service
内如如下:

[Unit]
Description=OPT APP Startup Script
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/jetson/sl
Environment="LD_LIBRARY_PATH=:/home/jetson/sl"
ExecStart=/home/jetson/sl/auto-start-run-app
ExecStartPre=/bin/sleep 5
Restart=on-failure
User=root
#Group=root

[Install]
WantedBy=multi-user.target

启动服务并设置自启动,保存该文件后,在系统中执行:sudo systemctl enable my-auto-start-app.service,
reboot系统后,即可实现自启动auto-start-run-app

保存并退出上述.service文件,下面的命令可以启动服务并将其添加到系统自启动项中:

sudo systemctl start my-auto-start-app.service
sudo systemctl enable my-auto-start-app.service


执行完该命令后,可以使用systemctl命令来查看该服务的状态:

sudo systemctl status my-auto-start-app.service


启动服务后,它将在系统启动时自动启动。也可以在任何时候使用以下命令停止服务并从自启动项中删除:

sudo systemctl stop my-auto-start-app.service
sudo systemctl disable my-auto-start-app.service


//-------------------------------------------------------------------------------------\\
\\-------------------------------------------------------------------------------------//

 [Unit]

[Unit]是systemd服务文件的一个部分,用于定义服务的基本信息。

    Description字段包含了一个简短的描述,用于描述服务的名称,方便用户在查找时快速了解服务的作用。
    
[Service]

[Service]是systemd服务文件中的另一个部分,用于定义服务的具体行为。

    Type字段是服务运行时的类型,simple表示它是一个后台进程,通常用于只有一个进程的服务。
    ExecStart字段包含了要运行的命令,多个命令可以用换行符(\n)隔开。
    User字段指定了以哪个用户的身份运行这个服务,这里选择root用户。

[Install]

[Install]定义了systemd服务的安装信息。

    WantedBy字段指定了服务将要执行的“target”(一种操作系统运行级别),这里指定的“multi-user.target”是Linux系统默认的、
    包含多个用户的运行级别,相当于传统的“init 3”运行级别。这意味着服务将在系统启动时自动运行。

2024-06-03扩展备注:

在 .service 文件中,通过 Restart= 和 WatchdogSec= 选项可以实现服务的 keep alive 功能。

    Restart= 选项:这个选项用于指定当服务发生故障时如何重启。常见的取值有:
        no:不自动重启服务。
        always:无论服务是否正常退出,都自动重启。
        on-success:只有当服务成功退出时才重启。
        on-failure:只有当服务失败退出时才重启。
        on-abnormal:只有当服务非正常退出时才重启。

    WatchdogSec= 选项:这个选项用于定义一个监视器(watchdog),用于检测服务是否处于活跃状态。如果监视器超过指定的时间没有收到来自服务的响应,那么系统会认为该服务已经出现问题,并触发相应的重启操作。示例:

       WatchdogSec=30s

以上两个选项结合使用,可以保持对服务进行 keep alive 监控和自动重启。

需要注意的是,具体配置方法可能因不同操作系统或 init 系统而异,请根据所使用的环境参考相关文档进行配置。

备注:参考源自STARBLOCKSHADOW博客【Linux】使用systemd设置开机自启动命令,感谢

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值