摘要: - Centos7开机第一个程序从init完全换成了systemd这种启动方式,同centos 5 6已经是实质差别。systemd是靠管理unit的方式来控制开机服务,开机级别等功能。 在/usr/lib/systemd/system目录下包含了各种unit文件,有service后缀的服务unit,有target后缀的开机级别unit等,这里临时介绍关于service后缀的文件。
Centos7开机第一个程序从init完全换成了systemd这种启动方式,同centos 5 6已经是实质差别。systemd是靠管理unit的方式来控制开机服务,开机级别等功能。
在/usr/lib/systemd/system目录下包含了各种unit文件,有service后缀的服务unit,有target后缀的开机级别unit等,这里临时介绍关于service后缀的文件。因为systemd在开机要想执行自启动,都是通过这些*.service 的unit控制的
具体流程
在/usr/lib/systemd/system目录下新建一个 service-name.service的文件
以apache的httpd.service的unit为例解释
[Unit]
#定义描述
Description=The Apache HTTP Server
#指定了在systemd在执行完那些target之后再启动该服务
After=network.target remote-fs.target nss-lookup.target
[Service]
#定义Service 的运行type,一般是forking,就是后台运行
Type=notify
Environment=LANG=C
#以下定义systemctl start |stop |reload *.service 的每个执行方法,具体命令#需要写绝对路径
ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
# Send SIGWINCH for graceful stop
KillSignal=SIGWINCH
KillMode=mixed
#创建私有的内存临时空间
PrivateTmp=true
[Install]
WantedBy=multi-user.target
以下是我自己写的一个java项目,需要他开机自运行的service,systemd会帮我执行我写脚本,shell如下,仅供参考
#!/bin/bash
CMD=$1
case $CMD in
-start)
nohup java -jar /home/mobileoa/apps/shMediaManage-0.0.1.jar &> /home/mobileoa/apps/shm.log &
;;
-stop)
port=$(sudo netstat -tnlp | grep ':9099' |awk '{print $nf}' |awk -f'/' '{print $1}')
sudo kill $port
;;
-restart)
port=$(sudo netstat -tnlp | grep ':9099' |awk '{print $nf}' |awk -f'/' '{print $1}')
sudo kill $port
nohup java -jar /home/mobileoa/apps/shMediaManage-0.0.1.jar &> /home/mobileoa/apps/shm.log &
;;
*)
echo "Usage: shMediaManager.sh -start | -stop | -restart .Or use systemctl start | stop | restart MediaManager.service "
;;
esac
编辑.service文件,在Exec*下执行脚本,来启动关闭重启服务
[UNIT]
Description=Media wanager Service
After=network.target
[Service]
Type=forking
**ExecStart=/home/mobileoa/apps/shMediaManager.sh -start
ExecReload=/home/mobileoa/apps/shMediaManager.sh -restart
ExecStop=/home/mobileoa/apps/shMediaManager.sh -stop**
PrivateTmp=True
[Install]
WantedBy=multi-user.target
设置开机自起
systemctl enable MediaManager.service
会创建一个连接
分享到:
相关推荐
### CentOS 7 设置 SSH 服务自动启动 #### 实验环境 - **操作系统**: CentOS 7 Minimal 安装 - **目的**: 设置 SSH 服务在系统启动时自动运行,并且能够修改 SSH 的监听端口。 #### SSH 简介 SSH(Secure Shell)...
在Linux系统中,CentOS 7是一个广泛应用的服务器操作系统,对于系统管理员来说,配置开机自启动脚本是一项基本任务,可以确保系统启动时自动运行特定的服务或程序。这里我们将详细探讨如何在CentOS 7中设置开机自...
CentOS 7 Systemd 服务自定义配置详解 Systemd 是 Linux 系统中的一种 init 系统,负责管理系统服务。CentOS 7 中的 systemd 服务可以自定义配置,以满足不同的应用需求。本文将详细介绍 CentOS 7 中 systemd 服务...
- 对于生产环境中的部署,建议使用Systemd服务单元文件的方法来配置开机自启动,因为它更符合现代Linux系统的管理规范,并且提供了更多的监控和服务控制选项。 - 如果在操作过程中遇到问题,可以参考官方文档或寻求...
在Linux系统中,尤其是CentOS 7,配置Apache Tomcat 8作为开机启动服务是确保服务器启动时自动运行Web应用程序的关键步骤。这个过程对于软件实施工程师来说非常重要,因为它可以简化维护工作,避免每次系统重启后...
4. 常用命令包括启动服务(systemctl start tomcat.service)、停止服务(systemctl stop tomcat.service)、重启服务(systemctl restart tomcat.service)、设置服务为开机自启动(systemctl enable tomcat....
本文将深入探讨如何在CentOS 7中配置磁盘阵列(RAID)以及设置开机软件自启动,这对于提高系统性能和确保服务的连续性至关重要。 一、CentOS 7磁盘阵列(RAID) RAID(Redundant Array of Independent Disks,独立...
本篇文章将详细讲解如何在CentOS7上安装Tomcat8并将其配置为自启动服务。 首先,我们来了解Tomcat的不同版本。Tomcat有多个版本,包括Tomcat7、Tomcat8和Tomcat9。当前,企业中广泛使用的是Tomcat8,因为它提供了更...
在Linux中,开机自启动通常涉及到`/etc/rc.d`或`/etc/init.d`目录下的脚本,或者在现代的Systemd系统中,是通过`/etc/systemd/system`目录下的服务单元文件(service unit file)来完成的。针对Qt应用程序,我们需要...
本文将详细介绍在 CentOS 7.2 中设置脚本在服务器开机时自动启动的过程,并且会涉及到 Linux 的启动流程和两种方式实现自动启动。 Linux 的启动流程主要顺序是:加载内核、启动初始化进程、确定运行级别、加载开机...
总之,这个“CentOS-7(64位 mini版 linux).zip”文件提供了一个轻量级、稳定的Linux服务器环境,适合开发者快速部署各种服务。无论是在物理服务器、虚拟机还是云环境中,都能展现其高效能和易管理性。
在Linux系统中,尤其是CentOS 7这样的发行版,服务管理通常依赖于`systemd`。MySQL数据库系统作为服务器上的关键组件,将其设置为系统服务能够确保它在系统启动时自动运行,提供持续的数据库服务。这篇博客文章...
在CentOS 7中,操作系统经历了一系列重大更新,其中最显著的变化之一是将传统的sysvinit服务管理系统替换为systemd。systemd是一种现代化的初始化系统,旨在提高系统的启动速度和管理效率。下面我们将深入探讨这些...
要实现在CentOS 6系统中配置Tomcat 8服务器以开机自启动...需要注意的是,虽然CentOS 7开始使用了systemd来替代SysVinit作为系统初始化和服务管理器,但在CentOS 6上,上述方法是可行的配置开机自启动服务的常规做法。
在Linux系统中,Oracle数据库的运行依赖于一系列的环境...总结,配置好Linux环境变量和自启动脚本是保证Oracle数据库服务稳定运行的关键。了解并熟练掌握这些知识点,能帮助管理员高效地管理和维护Oracle数据库系统。
**系统服务管理是Linux运维中的核心任务之一,特别是在CentOS7这样的系统中,引入了systemd作为服务管理的新工具,systemctl成为了管理服务的主要命令。本文将深入探讨systemctl的常用命令及其应用,帮助读者更好地...
CentOS 7是CentOS系列的一个重要版本,其发布于2014年,提供了许多新特性与改进,例如采用systemd作为初始化系统、提供新的内核、引入了firewalld防火墙管理工具、支持Python 3等。 在安装CentOS 7之前,有几项准备...
1. **Systemd**:CentOS 7采用了Systemd作为初始化系统,替代了传统的SysVinit,提供了更快的启动速度和更强大的服务管理功能。 2. **Gnome 3**:默认桌面环境为Gnome 3,提供了现代化的图形用户界面。 3. **Kernel ...
CentOS7 是一个流行的 Linux 发行版,本文档将介绍如何在 CentOS7 上安装 Docker。 一、卸载旧的 Docker 如果您之前已经安装了 Docker,可能需要卸载旧的 Docker,以避免可能的不兼容问题。可以使用以下命令卸载 ...
MariaDB(mariadb-10.6.8-linux-systemd-x86_64.tar.gz)适用于Linux x86_64系统 MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行...