<Linux> Ubuntu 开机应用自启动

在Ubuntu Xenial (Ubuntu 16)之前,开机应用自启动使用的是rc.local, Ubuntu Xenial及之后采用systemd, 而Ubuntu 16则在中间起着过渡作用,既可以使用rc.local,也可以使用systemd.我们这里采用新的方式.

systemd(system daemon)是Linux下的一种init软件,由Lennart Poettering带头开发,其开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果,最终代替现在常用的System V与BSD风格init程序。传统sysvinit使用inittab来决定运行哪些shell脚本,大量使用shell脚本被认为是效率低下无法并行的原因。systemd使用了Linux专属技术,不再顾及POSIX兼容.

Systemd并不是一个命令,而是一组命令,涉及到系统管理的方方面面,有以下几类:

systemctl:        是Systemd的主命令,用于管理系统;
systemd-analyze:命令用于查看启动耗时;
hostnamectl:    命令用于查看当前主机的信息;
localectl:        命令用于查看本地化设置;
timedatectl:    命令用于查看当前时区设置;
loginctl:        命令用于查看当前登录的用户;

详细请参考: http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

开机自启动,涉及到systemctl,下面是一些相关的命令:

# 重载所有配置
$ sudo systemctl daemon-reload

# 生成一个服务
$ sudo systemctl enable ${name}.service

# 删除一个服务
$ sudo systemctl disable ${name}.service

# 立即启动一个服务
$ sudo systemctl start ${name}.service

# 立即停止一个服务
$ sudo systemctl stop ${name}.service

# 重启一个服务
$ sudo systemctl restart ${name}.service

# kill掉一个服务的所有子进程
$ sudo systemctl kill ${name}.service

# 重新加载一个服务的配置文件
$ sudo systemctl reload ${name}.service

# 显示某个Unit的所有底层参数
$ systemctl show ${name}.service

# 显示某个Unit的指定属性的值,以httpd为例
$ systemctl show -p CPUShares httpd.service

# 设置某个Unit的指定属性
$ sudo systemctl set-property httpd.service CPUShares=500

1, 添加开机自启动脚本

1.1, 实现脚本

hellogirl.sh

#!/bin/sh -e

echo "hello, girl." > /tmp/hellogirl.log

exit 0

之后把hellogirl.sh放到一个指定目录,在这里我们这样做:

# 在/usr/local下创建一个专属文件夹,其它位置也可以
$ cd /usr/local
$ sudo mkdir tulip
$ cd tulip

# 编写hellogirl.sh脚本
$ sudo vim hellogirl.sh

# 然后把上面脚本内容复制进去,保存.
# 之后,添加可执行权限
$ sudo chmod +x hellogirl.sh

1.2, 编写服务

# 打开添加服务文件的位置
$ cd /lib/systemd/system

# 编写服务文件,这里直接复制一个进行修改
$ sudo cp rsyslog.service hellogirl.service

# 修改hellogirl.service
$ sudo vim hellogirl.service

hellogirl.service修改后如下:

[Unit]
Description=Hello girl shell Service

[Service]
Type=notify
ExecStart=/usr/local/tulip/hellogirl.s
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值