LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Linux强烈建议采用自定义的系统服务实现开机启动程序的脚本方法

2022年12月23日 132点热度

/usr/lib/systemd/system: 安装包相关配置,一般是供应商提供的操作系统资源。通常,只允许包管理工具(yum/dnf/rpm/apt)进行包安装的过程中操作此路径;
/lib/systemd/system: 指向/usr/lib/systemd/system。
/etc/systemd/system:本地配置文件,系统管理员手动软件安装包或脚本放置于此。etc/systemd/system/(系统管理员安装的单元, 优先级更高)

在CentOS 中,实现开机启动程序主要有两种方法:

1、把要启动的程序配置成自定义的系统服务

2、在/etc/rc.local脚本文件中编写启动程序的脚本

方法1:

Centos 系统服务脚本systemctl目录:

/usr/lib/systemd/

有系统(system)和用户(user)之分,

如需要开机没有登陆情况下就能运行的程序linux程序开机启动,存在系统服务(system)里,即:

#系统服务
/usr/lib/systemd/system/
#用户服务
/usr/lib/systemd/user/

linux 程序开机启动_linux程序开机启动_win8程序开机启动

反之,用户登录后才能运行的程序,存在用户(user)里,服务以.service结尾。

每一个服务以.service结尾linux应用程序红旗linux系统下载,一般会分为3部分:[Unit]、[Service]和[Install],就以nginx为例吧,具体内容如下:

这边以nginx开机运行为例:

1.建立服务文件

vim /lib/systemd/system/nginx.service   
 
[Unit]    
Description=nginx    
After=network.target         
[Service]    
Type=forking    
ExecStart=/www/lanmps/init.d/nginx start    

linux程序开机启动_linux 程序开机启动_win8程序开机启动

ExecReload=/www/lanmps/init.d/nginx restart ExecStop=/www/lanmps/init.d/nginx stop PrivateTmp=true [Install] WantedBy=multi-user.target

[Unit]服务的说明

Description:描述服务

After:描述服务类别

[Service]服务运行参数的设置

Type=forking是后台运行的形式

ExecStart为服务的具体运行命令

linux 程序开机启动_linux程序开机启动_win8程序开机启动

ExecReload为重启命令

ExecStop为停止命令

PrivateTmp=True表示给服务分配独立的临时空间

注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

启动nginx服务:

systemctl start nginx.service

设置开机自启动:

systemctl enable nginx.service

停止开机自启动:

systemctl disable nginx.service

查看服务当前状态:

systemctl status nginx.service

重新启动服务:

systemctl restart nginx.service

查看所有已启动的服务:

systemctl list-units --type=service

方法2

1、/etc/rc.local是/etc/rc.d/rc.local的软链接 ,也就是说他们是同一个文件。

win8程序开机启动_linux程序开机启动_linux 程序开机启动

#执行ls -l /etc/rc.local看看。
[root@VM-16-6-centos etc]# ls -l /etc/rc.local
lrwxrwxrwx 1 root root 13 Aug 10 23:31 /etc/rc.local -> rc.d/rc.local

2、rc.local文件的原始内容 执行vi rc.local 查看

[root@VM-16-6-centos etc]# vi rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

linux程序开机启动_win8程序开机启动_linux 程序开机启动

touch /var/lock/subsys/local

中文意思如下:

# 添加此文件是为了兼容。
# 强烈建议创建自己的systemd服务或udev规则,以便在引导期间运行脚本,而不是使用此文件。
# 与以前版本不同,由于在引导期间并行执行,此脚本不会在所有其他服务之后运行。
# 请注意,必须运行'chmod+x/etc/rc.d/rc.local',以确保在引导期间执行此脚本。

虽然Linux强烈建议采用自定义的系统服务实现开机自启动程序,不过我认为在rc.local中配置开机启动程序也是一个不错的方法,因为rc.local的配置更简单明了,所以仍被广泛的使用。

3、rc.local文件的配置

rc.local本质上是一个shell脚本文件,可以把启动时需要执行的命令写在里面linux程序开机启动,启动时将按顺序执行。

接下来我们来测试它。

1)在rc.local中添加以下脚本。

/usr/bin/date >> /tmp/date1.log # 把当前时间追加写入到/tmp/date1.log中。

/usr/bin/sleep 10 # 睡眠10秒。

/usr/bin/date >> /tmp/date2.log # 把当前时间追加写入到/tmp/date2.log中。

2)修改/etc/rc.d/rc.local的可执行权限。

chmod +x /etc/rc.d/rc.local

3)重启服务器。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: linux服务器 linux系统 linux脚本 systemctl
最后更新:2022年12月23日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
查看系统版本 linux “”的有关知识,不少人都会遇到这样的困境 Linux在内核中是如何记录进程资源的?你能从C语言源代码层面分析下吗? 【】原操作系统配备内核源代码,更不能进行内核模块实验 【Linux基础知识】与文件权限管理的Linux关系 linux/管理员管理员发布于5年前34(图) Linux和Unix操作系统之间有区别但也有联系?(一) Ubuntu系统如何升级和更新Linux内核版本?将推荐 Linux内核技术组成、组织和重要的数据结构等(组图) 【报错日志】一下升级linux内核的启动顺序为0 Linux终端窗口中输入mysql-V以显示MySQL版本信息sky 计算机操作系统全新版装系统盘点、理念与系统的优缺点 linux中常用的用户管理命令:1groups?列出当前用户所属 Linux下如何设置开机启动启动脚本?学算法 Linux中已经安装好了mysql命令 Linux系统用户系统上的三种类型的帐户的介绍 Linux下的开机启动设置方法是什么?脚本或服务 谷歌更新Linux内核构建的公共内核库:添加对kokoro作业的支持 linux下mysql中可以使用REVOKE语句来删除某个用户的权限 内核的角度来看,调用hotplug和通常的hotplug环境 Linux系统在开机的时候自动加载某些脚本或系统服务
Linux5.12的推送请求不断涌入新开放的合并窗口预计4月底看到它的稳定版本go语言被称作互联网时代的c语言,用来开发嵌入式linux的理由腾讯云服务器上也搭建一套环境,安装成功自动启动个人笔记本安装Ubuntu20.04LTS下载地址启动第一步--加载BIOS当你打开计算机电源(组图)虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载指令中各个make-C~/linuxM=`pwd编译Linux启动过程中的几个部分内核的引导(图)如何在Linux上安装虚拟机的结果大多都是怎么安装的一个免费软件时间跟进的小白鼠是什么鬼?专题计算机是如何启动的?、内核操作系统的启动流程学习Linux最简单、最实用的环境就是虚拟机环境(上)基于命令修改文件的权限命令-ld1.Linux磁盘分区和目录Linux发行版本之间的差别很少?国内性价比很高的Linux虚拟主机系统安装的流程是什么?Linux下修改文件权限的权限与所有权的实现就显得很有必要linux到底难不难学呢?推荐可以查看Linux命令大全Linux中修改文件权限的命令、创建者所在组、所有人Linux的内核放在了哪里?/boot的启动目录一览阿里云>社区>主题地图S>查看存储推荐
Ubuntu和其他Linux中安装最新的LibreOffice版本的快速指南 将目录test下的所有文件压缩成test.zip,并设置密码 Linux环境下,处理磁盘空间已满,导致数据库无法正常使用 如何优雅的在Windows中使用Linux系统中搭建Shell环境 AMDCPU微码更新可能会执行每个线程的微码更新 嵌入式LINUX系统培训班-国嵌课程 学习Linux最简单、最实用的环境就是虚拟机环境(上) Asahi团队将手伸向M2芯片,支持M1Ultra的MacStudio 和VisualStudioCode如何使用VSCode运行C和C++程序 iOS设备如何安装deb文件管理插件?越狱的方法 虚拟主机技术极大怎么样?如何选择多个网站.Q. 谷歌更新Linux内核构建的公共内核库:添加对kokoro作业的支持 如何不重新编译整个内核支持某个功能,对系统无影响编译 宝塔安装使用SSH连接工具,Linux服务器连接的基本介绍 Flutter的“野心”不止于跨平台开发,而是全平台制霸 Linux修改默认端口更改-mr7777端口修改 查看系统版本 linux “”的有关知识,不少人都会遇到这样的困境 Linux内核技术组成、组织和重要的数据结构等(组图) Linux常用命令大全(标记为红色的位必须掌握!) kali渗透测试系列文章目录信息收集信息网站的常见漏洞
标签聚合
shell sudo unix 虚拟机 linux服务器 命令模式 软件 文件目录 linux系统 电脑
书籍
课程
技术群
技术干货大合集↓
  • 2023年2月 / 26篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.