centos7 unit not found

Systemd简介

Systemd是Linux系统中一个初始化系统和服务管理器,它可以替代传统的SysVinit和Upstart,从CentOS 7开始,Systemd已经成为默认的初始化系统,Systemd具有以下优点:

1、简单的配置文件;

centos7 unit not found

2、强大的服务管理功能;

3、支持多种运行级别;

4、丰富的日志记录和诊断工具。

Unit文件配置

Unit文件是Systemd用来描述服务的配置文件,通常以.service结尾,一个典型的Unit文件包含以下几个部分:

1、[Unit]:包含了一些元数据,如Description(描述)、Requires(依赖关系)等;

2、[Service]:定义了服务的类型、启动方式、是否自动启动等;

centos7 unit not found

3、[Install]:定义了如何安装服务;

4、[ExecStart]:定义了服务的启动命令;

5、[User]:定义了运行服务的用户和组;

6、[Group]:定义了服务的所属组;

7、[LimitNOFILE]:限制了服务打开的最大文件描述符数;

8、[InstallLimits]:定义了服务的资源限制;

centos7 unit not found

9、[RemainAfterExit]:定义了服务退出后的状态;

10、[TimeoutStopSec]:设置了服务的超时停止时间。

下面是一个简单的Unit文件示例:

[Unit]
Description=My Custom Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/my-custom-service.sh
Restart=on-failure
User=root
Group=root
Environment=PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
LimitNOFILE=65536
TimeoutStopSec=300
RestartSec=5s
KillMode=process
SendSIGKILL=no
SuccessExitStatus=143
ErrorExitStatus=144
TimeoutStartSec=0
WorkingDirectory=/var/lib/my-custom-service
PrivateTmp=true
ProtectedProcess=%i
NoNewPrivileges=true
CapabilityBoundingSet=CAP_NET_BIND_SERVICE+CAP_NET_ADMIN+CAP_SYS_ADMIN+CAP_SYS_BOOT+CAP_SYS_NICE+CAP_SYS_PACCT+CAP_SYS_PTRACE+CAP_SYS_RAWIO+CAP_SYS_TIME+CAP_SYS_TTY_CONFIG+CAP_SYSLOG+CAP_WAKE_ALARM+CAP_MKNOD+CAP_FOWNER+CAP_DAC_OVERRIDE+CAP_MAC_OVERRIDE+CAP_SETGID+CAP_SETUID+CAP_SETFCAP+CAP_KILL+CAP_SETPCAP+CAP_NET_RAW+CAP_IPC_LOCK+CAP_IPC_OWNER+CAP_IPC_PERMIT+CAP_SYSCALL+CAP_CHOWN+CAP_LEASE+CAP_AUDIT_WRITE+CAP_AUDIT_CONTROL+CAP_MAC_ADMIN+CAP_SYSLOGGER+CAP_WAKE_ALARM+CAP_SETGID+CAP_SETUID+CAP_SETFCAP+CAP_KILL+CAP_SETPCAP+CAP_NET_RAW+CAP_IPC_LOCK+CAP_IPC_OWNER+CAP_IPC_PERMIT+CAP_SYSCALL+CAP_CHOWN+CAP_LEASE+CAP_AUDIT_WRITE+CAP_AUDIT_CONTROL+CAP_MAC_ADMIN+CAP_SYSLOGGER+CAP_WAKE_ALARM+CAP_{{.ServiceName}}={{.Value}}
PrivateDevices=true
ReadOnlyPaths=/sys,proc,dev,run,mnt,etc,var,lib/systemd/system,lib/systemd/system/multi-user.target.wants/,lib/systemd/system/graphical.target.wants/,lib/systemd/system/anaconda.target.wants/,lib/systemd/system/anaconda-server.target.wants/,lib/systemd/system/anaconda-client.target.wants/,lib/systemd/system/anaconda-server-headless.target.wants/,lib/systemd/system/anaconda-client-headless.target.wants/,lib/systemd/system/anaconda-server-single-user.target.wants/,lib/systemd/system/anaconda-client-single-user.target.wants/*,lib/systemd/system/*,lib/*,usr/*,etc/*,home/*,tmp/*,sbin/*,bin/*,lib/*,sys/*,var/*,run/*,db/*,opt/*,etc/*,media/*,mnt/*,run/*,lock/*,spool/*,mail/*,shutdown/*,isolation/*,logrotate/*,initrd /*{{else}} {{if isset multi-user.target}} {{then}}ExecStart=-/usr/bin/login{{end}} {{end}}{{if isset graphical.target}} {{then}}ExecStartPost=-$HOME $DISPLAY $TERM logout{{end}} {{end}}{{if isset single-user.target}} {{then}}ExecStartPre=rm -rf ~/test{{end}} {{end}}{{with pidfile := ""}}{{with socketfile := ""}}{{with hassocket := false}}{{range seq 10}}{{if fileexists (path "$socketfile") || fileexists (path "$pidfile")}} {{break}}{{end}}{{end}}{{if not hassocket}} {{with socketfile := path "$PIDDIR" (path "$unitname").replace ('%' '%%') "socket"}}{{with hassocket = true}}{{end}}{{end}}{{end}}{{if hassocket}} {{exec start-stop-daemon --start --quiet --oknodo --pidfile $pidfile --make-pidfile --socket $socketfile --exec /usr/bin/my-custom-service -{{ if or (eq .Values.priority) (eq .Values.priority 'unprivileged')) then (printf '%q
' .Values.priority) else (printf '%q
' '') end}}} {{else}} {{exec start-stop-daemon --stop --quiet --oknodo --retry forever --pidfile $pidfile --exec /usr/bin/my-custom-service}} {{end}}{{with timeout stopsec := 300}}{{if isset nowait}} {{or (eq timeout stopsec 0) (eq timeout stopsec '0')}} {{else}}{{with timeout stopsec := timeout stopsec + 5}}{{exec start-stop-daemon --stop --quiet --signal KILL --retry forever --kill-mode process --timeout $timeout stopsec --exec /usr/bin/my-custom-service}} {{end}}{{end}}{{with timeout restartsec := 5}}{{if isset nowait}} {{or (eq timeout restartsec 0) (eq timeout restartsec '0')}} {{else}}{{with timeout restartsec := timeout restartsec + 5}}{{exec start-stop-daemon --start --quiet --oknodo --retry forever --after $timeout restartsec --make-pidfile --exec 本文将介绍如何在CentOS 7中使用Systemd进行服务管理。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/142594.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2023-12-18 18:18
Next 2023-12-18 18:20

相关推荐

  • 如何让redis一直开启服务状态

    Redis简介Redis(Remote Dictionary Server)是一个开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,它通常被称为数据结构服务器,因为值可以是字符串(String)、哈希表(Hash)、列表(List)、集合(Set)和有序集合(Sort……

    2024-01-03
    0112
  • c盘cdn.bin

    我们需要明确一点:C盘cdn.bin是什么?C盘cdn.bin是Windows操作系统中的一个隐藏文件,它包含了一些由Microsoft Update服务下载的更新文件,这些文件通常用于修复系统漏洞、提高系统性能和稳定性,当您安装或更新某些软件时,这些文件可能会被自动下载并保存到C盘cdn.bin中。为什么我们需要关注这个文件呢?1.……

    2023-12-07
    01.1K
  • linux自动补全不起作用如何解决

    如果Linux的自动补全功能不起作用,可以尝试以下几种解决方法:确保已经安装了tab补全的相关软件包,例如bash-completion。可以使用以下命令来安装插件:sudo apt install bash-completion。如果仍然不起作用,可以尝试重新启动shell或者重新登录系统,以便使配置文件的更改生效 。

    2024-01-24
    0257
  • mysql cmd登录

    在计算机领域,MySQL是一种广泛使用的关系型数据库管理系统,它提供了一种高效、可靠的数据存储和管理系统,被广泛应用于各种应用场景中,在使用MySQL的过程中,我们经常会遇到需要通过命令行界面(CMD)进行操作的情况,为了提高操作效率,我们可以使用CMD快捷登录技术来快速登录MySQL,下面将详细介绍如何安全地使用CMD快捷登录MyS……

    2024-03-25
    0161
  • 如何实现Linux系统的自动启动功能?

    在Linux系统中,实现程序或脚本的自动启动是一个常见需求,无论是为了系统服务、定时任务还是用户登录后的自动化操作,本文将详细探讨几种主流的方法来实现这一目标,并通过表格形式对比它们的优缺点,一、使用/etc/xdg/autostart 目录这种方法适用于有界面的应用程序,通过创建.desktop 文件并将其放……

    2024-11-17
    04
  • 自己怎么搭建云存储服务器

    云存储服务器的概念云存储服务器是一种基于云计算技术的存储服务,它将数据存储在远程的服务器上,用户可以通过网络访问这些数据,云存储服务器具有高可用性、弹性扩展、易于管理等特点,广泛应用于网站备份、文件共享、数据存储等领域,本文将介绍如何搭建一个简单的云存储服务器。搭建云存储服务器的准备工作1、选择合适的云存储服务商:市面上有很多云存储服……

    2024-01-01
    0131

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入