systemd--------------Ubuntu 18.04 自启动服务

        ubuntu下自启动服务,习惯了在rc.local添加,而在ubuntu 18.04系统下,已经没有了irc.local。从18.04开始,Ubuntu发行版本已经使用systemd来启动服务,不再使用initd。刚好用到,于是就静下来看了下systemd启动的过程。

        废话不多,下面是启动自己程序的步骤:

1. 添加/etc/systemd/system/myapp.service服务,内容如下:

[Unit]

Description=user app

# Requires=serial-getty@ttyGS0.service     #添加自己程序的依赖

#After=networking.service  

[Service]

type=forking                                        

ExecStart=/bin/bash /root/app.sh                # 用户的服务脚本

[Install]

WantedBy=multi-user.target

2.在/root/app.sh增加自己的服务,并增加执行权限,sudo chmod a+x /root/app.sh

note:因为启动该服务时,系统环境还未初始化,所以脚本中自己手动添加所有需要的系统环境,

如:LD_LIBRARY_PATH,PATH等。

3.使能服务

#systemctl enable myapp      

重启系统就会自动执行/root/app.sh

 -----------------------------------------------------------------------------------------------------------------------

note:1.Ubuntu中,服务分别放在两个位置,/etc/systemd/system/ 和/lib/systemd/system/ 。

  前者是用户定义的服务居多,后者系统服务居多。

        2.myapp.service中 [Unit]..类似字段要注意首字母大写,之前看了有些文章没有大写,测试时不满足语法,无法启动服务。

        测试语法是否正确方法:# systemctl reload myapp.service,     #systemctl enable myapp.service

        3.需要做rootfs的,可以直接建立软连接人间代替 systemctl enable xxx  命令

         执行过该命令的应该可以看到,该命令实质上就是在/etc/systemd/system/multi-user.target.wants/ 下建立了一个同名软连接。  “multi-user.target.wants”这里与服务中install内容对应。

        

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值