四大名著手抄报linuxsystemd⽹络,LinuxSystemd配置⽂件详解
以docker.service为例,说明各个参数的含义:
[Unit] #主要⽤于配置整个服务的详情信息以及服务依赖,⽤于快速识别该服务的相关情况以及依赖项⽬
Description=Docker Application Container Engine #服务的简单描述
BindsTo=containerd.service#和Requires类似,但是依赖性更强,这⾥列出来的任何服务停⽌运⾏或崩溃,该服务将⽴即被停⽌。考虑服务的启动依赖,⼀般会和After⼀起使⽤
After=network-online.target firewalld.service#⽤于指定该服务在那些服务之后启动 ,停⽌时正好相反
Wants=network-online.target#Requires的弱化版,当该服务启动时,尽可能的启动该指令指定的服务,但不会影响该服务的启动
#Before#⽤于指定该服务在那些服务之前启动,停⽌时正好相反
读取配置文件失败
#Requires #设置该服务必须依赖的其他服务,因此在该服务启动之前,指定的服务列表必须全部在线,否则服务将启动失败或掉线。但如果未设置After和Before指令时,该服务和依赖的服务将会并⾏的同时启动。注意: 该指令依赖的服务不⼀定要在整个⽣命周期都保持⼀直在线,这取决于其他的检查条件
#Requisite#和Requires类似,区别是在该服务启动时,该指令指定的依赖资源必须全部处于启动成功的状态,否则该服务⽴马失败,并且不会启动那些失败的依赖服务。因此⼀般建议Requisite和After ⼀起联合使⽤会⽐较好。
#PartOf#和Requires类似,但仅作⽤于服务的停⽌和重启,表⽰该服务是所列服务的⼀部分,会随指定服务的启动⽽启动。注意: 该指令是单向依赖,服务的主动的重启不会影响其他
[Service]#主要⽤于配置整个服务⽣命周期的管理⾏为
Type=notify#设置进程的启动类型。必须设为 simple, exec, forking, oneshot, dbus, notify, idle 之⼀
EnvironmentFile=-/etc/sysconfig/docker#指定包含key=value的配置⽂件 -$(filename)表⽰可忽略,即当⽂件不存在或环境变量加载失败时也不影响后续的处理逻辑。
#Environment #指定Key=Value 的环境配置
杨玏米露#进程⽣命周期管理
ExecStart=/usr/bin/dockerd -H unix:// $DOCKER_OPTS#启动逻辑, 该指令⽤于启动进程的核⼼逻辑
ExecReload=/bin/kill -s HUP $MAINPID#热加载, 该指令⽤于对进程进⾏热加载,通常情况⽤于 配置变更后的热重启
#重启策略
TimeoutSec=0#⼀个同时设置 TimeoutStartSec= 与 TimeoutStopSec= 的快捷⽅式。
RestartSec=2#多久后重启
Restart=always#当服务进程正常退出、异常退出、被杀死、超时的时候,是否重新启动该服务。always⽆条件重启
StartLimitBurst=3#启动的最⼤次数限制,超过后停⽌继续重启
StartLimitInterval=60s#启动时间的最⼤间隔
#资源限制
LimitNOFILE=infinity#限制进程使⽤的⽂件描述符数量,等同ulimit -n
LimitNPROC=infinity#限制进程的数量,等同于ulimit -u
大学毕业生自我鉴定
LimitCORE=infinity#
TasksMax=infinity
Delegate=yes
KillMode=process#设置在单元停⽌时,杀死进程的⽅法。process 表⽰仅杀死主进程。
[Install]#⽤于配置服务的安装级别,当我们设置服务在Linux的那种级别下启动或开机⾃启动时会加载该部分(典型的当chkconfig nginx on或者systemctl enable|disable nginx.service时会读取该部分的配置)
都匀毛尖产地WantedBy=multi-user.target #设置启⽤服务的依赖服务
吴亦凡最近是个什么梗
参考链接: