LinuxGod

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

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

2022年12月23日 213点热度

/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大神网

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

最新 热点 随机
最新 热点 随机
如何安装便携式WiFi驱动程序?360wifi驱动的教程 CentOS云服务器搭建网站和CentOS搭建DNS解析服务 如何在linux上创建一个用户,减少不必要的沟通成本 如何在Linux系统中查看CPU信息使用lscpu命令行 linux服务器搭建ftp的6下安装vsftpd步骤及步骤 贵州工业职业技术学院求职意向期望工作地--诚聘英才 实验1Linux安装实验掌握虚拟机的使用 Linux系统tar命令的使用方法及使用命令教程 linux 开源nas系统 杰和科技NAS服务器媒体见面会在京召开 Android与Linux开发大不同 Linux系统软件安装包:自己动手,安装不用愁 车市新战局:汽车操作系统会复制智能手机的历史吗? Linux文件系统种类 如何卸载用源码包安装的软件?在线视频教程推荐 「职位」ASP.、PHP、Linux服务器集群开发 Torvalds:Linux内核开发的创新前景充满了热情 Linux文件系统的结构从终端窗口探索Linux目录树结构 卸载软件命令Linux.You linux软件开发如何入门?学习Linux步骤及学习方法介绍 14年Linux发行版的有趣历史观点
嵌入式Linux操作系统学习规划+LINUX路线,主攻江苏电信天翼校园客户端故障指引及解决办法(101)英特尔GMAGMA950显卡驱动程序/WIN8/8.1电信校园网宽带用USB数据线共享给电脑无线上网国防科大开源操作系统:它只是一个吉祥的象征10个常用Linux文本查看命令及其详细说明和使用示例Linux嵌入式系统内核裁剪与定制方法的介绍情况淘宝教育热卖C语言编程开发C++程序设计零基础入门课程从CPU、内存、硬盘、显卡等这些方面安装Linux系统的最低配置Linux通过chkconfig设置开机启动服务创建的几种常见方式(技术分析)Linux多线程的使用与操作系统的区别通常rar命令由一个主命令加若干选项(可选)构成RedHatLinux中自动运行程序中的应用linux 读写文件 关于Linux内核的神秘面纱,你知道几个?使用wget实用程序的有用命令行工具的使用怎么设置linux开机项自启动?方式是怎样的?嵌入式Linux应用层与驱动层要想学习关于Linux内核的交叉编译步骤和方法:步骤、方法STM32嵌入式linux开发流程及应用程序分析-STMlinux下有哪些文件在介绍lsof命令实用用法介绍?
重启策略+run容器常用参数07-207的参数 Linux系统下如何搭建SVN服务器,详细说明各配置项的功能 下的脚本文件就是运行级别是第5级随机启动的服务程序 LINUX设备驱动程序(第3版)-设备 linux下常用关机命令之间的区别和具体用法和用法 ToradexColibri61计算机模块工业产品级EmbeddedLinux源代码下载 RedHatEnterpriseLinux5网络服务应用图书简介 Linux系统中用于管理和控制系统服务的强大工具介绍 物理端口和逻辑端口、端口号等计算机概念的区别 Linux下查看版本号的命令转(组图) Linux定时器的使用内核定时器是内核用来控制在未来某个时间点 mac系统有没有开机启动项?如何设置呢?软件我们不需要开机启动 deb文件后无法通过Ubuntu20.04的软件中心安装?你不是唯一遇到此问题的人 Linux云主机无法SSH远程登录,上午还用得挺好 如何管理Linux软件包软件包命名deb软件包的命名遵循以下约定 我们如何才能破解安卓设备呢?留下的后门权限 Net编程自动调试监视工具(AutoFor.Net) linux下一些常用的关机/重启命令,你知道吗? Linux自主访问控制机制模块详细解析之自动运行程序 Linux平台上的usb驱动开发,基于libusb的无驱设计
标签聚合
虚拟机 linux系统 应用 linux服务器 内核 操作 软件 文件 命令 文件目录
书籍
课程
技术群
技术干货大合集↓
  • 2023年9月 / 81篇
  • 2023年8月 / 93篇
  • 2023年7月 / 94篇
  • 2023年6月 / 90篇
  • 2023年5月 / 93篇
  • 2023年4月 / 90篇
  • 2023年3月 / 129篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.