Ubuntu18 开机自动执行--脚本或命令(基于update-rc.d)

简介: Ubuntu 18 不再使用initd管理系统,而是使用systemd;我们使用 update-rc.d,可以添加和删除服务,并将它们添加到Ubuntu / Debian启动脚本中,实现开启自启动效果。

前言

Ubuntu 18 不再使用initd管理系统,而是使用systemd;我们使用 update-rc.d,可以添加和删除服务,并将它们添加到Ubuntu / Debian启动脚本中,实现开启自启动效果。

实现过程:

1)新建个脚本文件 new_service.sh

#!/bin/bash
# command content
exit 0

2)设置权限

sudo chmod +x new_service.sh

3)把脚本放置到启动目录下

sudo mv new_service.sh /etc/init.d/

4、将脚本添加到开机启动脚本

执行如下指令,在这里90表明一个优先级,越高表示执行的越晚 (优先级范围:0~90)

cd /etc/init.d/
sudo update-rc.d new_service.sh defaults 90

然后重启电脑;

5)查看全部服务列表

sudo service --status-all

这时应该能看到新加开机启动脚本(new_service.sh)的名字在列表中;说明开机时会启动这个sh脚本的。
附加:看到列表中,启动前面会可能出现以下三种状态de

  • [+] –具有此标志的服务当前正在运行。
  • [–] –具有此标志的服务当前未运行。
  • [?] –没有  状态开关的服务。

6)服务的启动停止状态

xxx为第5步查询得来的启动服务(脚本)名字

sudo service xxx status
sudo service xxx start
sudo service xxx stop
sudo service xxx restart

其他

移除开机启动脚本

sudo update-rc.d -f new_service.sh remove

update-rc.d的详细参数
使用update-rc.d命令需要指定脚本名称和一些参数,它的格式看起来是这样的(需要在 root 权限下):

update-rc.d [-n] [-f] <basename> remove
update-rc.d [-n] <basename> defaults
update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
update-rc.d <basename> start|stop <NN> <runlevels>

参数解析:

-n: not really
-f: force
disable|enable:代表脚本还在/etc/init.d中,并设置当前状态是手动启动还是自动启动。
start|stop:代表脚本还在/etc/init.d中,开机,并设置当前状态是开始运行还是停止运行。(启用后可配置开始运行与否)
NN:是一个决定启动顺序的两位数字值。(例如90大于80,因此80对应的脚本先启动或先停止)
runlevels:则指定了运行级别。

希望对你有帮助。
如果有不对的,欢迎指正。

相关文章
|
3月前
|
NoSQL Ubuntu Redis
Ubuntu开机自启redis
本文介绍了如何在Ubuntu系统中通过创建systemd服务单元文件、重新加载systemd配置、启用服务和启动服务的步骤来实现Redis的开机自启动。
128 1
|
8天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
73 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
5月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
1052 3
|
2月前
|
Ubuntu
ubuntu和debian 的安装包dpkg管理命令对安装包进行安装,查询,卸载
Ubuntu dpkg 软件包管理命令概览:安装、卸载、查看和配置软件包。包括解决依赖、强制卸载、列出及过滤已安装包、查看包详情等操作。
84 10
|
2月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
85 2
|
3月前
|
缓存 Ubuntu 网络协议
ubuntu ifconfig命令找不到
通过上述指导,无论你是面临 `ifconfig`命令缺失的困惑,还是希望深入了解Ubuntu系统下的网络管理技巧,都能找到针对性的解决方案,进一步提升你的系统管理能力。
97 2
|
3月前
|
缓存 Ubuntu 网络协议
ubuntu ifconfig命令找不到
通过上述指导,无论你是面临 `ifconfig`命令缺失的困惑,还是希望深入了解Ubuntu系统下的网络管理技巧,都能找到针对性的解决方案,进一步提升你的系统管理能力。
89 1
|
3月前
|
开发框架 缓存 Ubuntu
dotnet开发框架+ubuntu防火墙命令+win11设置自动登录+阿里云短信发送限制
dotnet开发框架+ubuntu防火墙命令+win11设置自动登录+阿里云短信发送限制
51 3
|
3月前
|
缓存 Ubuntu 网络协议
ubuntu ifconfig命令找不到
综上所述,面对 `ifconfig`缺失的问题,用户应首先考虑使用替代命令或通过安装额外软件包来解决,同时注意权限管理和环境变量的正确配置。通过这些策略,可以确保在Ubuntu系统中高效、无障碍地管理网络配置。
189 0
|
4月前
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
62 1