【systemd】关于systemd中的 $MAINPID

2023-05-16

$MAINPID is a systemd variable for your service that points to the PID of the main application.

$ MAINPID是服务的systemd变量,它指向主应用程序的PID。

 

 

ExecReload=

这是一个可选的指令, 用于设置当该服务 被要求重新载入配置时 所执行的命令行。 语法规则与 ExecStart= 完全相同。

另外,还有一个特殊的环境变量 $MAINPID 可用于表示主进程的PID, 例如可以这样使用:

ExecReload=/bin/kill -HUP $MAINPID

注意,像上例那样,通过向守护进程发送复位信号, 强制其重新加载配置文件,并不是一个好习惯。

 因为这是一个异步操作, 所以不适用于需要按照特定顺序重新加载配置文件的服务。 

我们强烈建议将 ExecReload= 设为一个 能够确保重新加载配置文件的操作同步完成的命令行。

 

 

你应该使用PIDFile和$ MAINPID而不是pkill。 

如果由于某种原因多次运行nginx怎么办。 在几个容器中,或作为某些开发人员的本地服务器。 谁知道将获取哪些PID?

但是systemd知道服务的PID,通过$MAINPID变量 为你获取它。

 

常用信号表

 

 

 

kill与信号量

https://www.jianshu.com/p/966d18eac17e

 

当执行kill -9 PID时系统发生了什么?

http://zyearn.github.io/blog/2015/03/22/what-happens-when-you-kill-a-process

 

systemd.service 中文手册

http://www.jinbuguo.com/systemd/systemd.service.html

 

Systemd Services: Beyond Starting And Stopping

https://www.linux.com/tutorials/systemd-services-beyond-starting-and-stopping

 

Using PIDFile and $MAINPID instead of pkill

https://medium.com/@jbriggs_24705/you-should-be-using-pidfile-and-mainpid-instead-of-pkill-1935e4531931

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【systemd】关于systemd中的 $MAINPID 的相关文章

  • Linux之systemd服务配置及自动重启

    Linux之systemd服务配置及自动重启 0 背景 在linux上开发时 xff0c 往往需要将自己的程序做成服务 xff0c 并且实现服务开机自动重启 xff0c 以及服务崩溃后自动重启功能 xff0c 本文就对该功能的实现做简单介绍
  • WSL+Systemd+Gnome+VcXsrv+CUDAToolkit 安装

    我的版本信息 wsl xff1a PS C Users kirk gt wsl update 正在检查更新 无更新使用 内核版本 xff1a 5 10 102 1 Ubuntu xff1a kirk 64 KirkComputer lsb
  • linux 中 /etc/systemd/system和/usr/lib/systemd/system 的区别

    每一个 Unit xff08 服务等 xff09 都有一个配置文件 xff0c 告诉 Systemd 怎么启动这个 Unit Systemd 默认从目录 etc systemd system 读取配置文件 但是 xff0c 里面存放的大部分
  • WSL2 启用systemd

    WSL2 启用systemd 项目 wsl distrod 安装方法 一 1 确保默认的WSL本版为2 wsl set default version 2 2 下载并解压缩 distrod wsl launcher xff0c 解压提取ex
  • systemd 配置自动挂栽包含小数点和中文字符的文件夹的问题

    问题 xff1a 有一个文件夹 home P300T Backups 9 历史存档 想将其挂栽到 home P3001T disk1 9 历史存档 home disk1 3 历史存档 xff0c 通过systemd 构建了 etc syst
  • 利用systemd实现ssl证书的自动续期

    问题 xff1a 因为 certbot renew 必须在证书申请30天之后才能执行成功 xff0c 所以需要手动更新或者利用邮件提醒 xff0c 编辑脚本等才能自动续期 我在这里想出了一种利用systemd的timer功能 xff0c 实
  • 大龄单身,这些人真作。

    大家好 我是北妈 0 前些天想办法给一亲戚弟弟介绍个妹子 弟29 妹子28 两人基本恋爱0经验 皇帝不急太监急 今天两人见面 随问之 弟弟答曰 还可以 就是不知说啥 妹子答曰 还可以 到感觉不太合适 感觉不太爱说话 自己就不太爱说话 想找一
  • 卸载 kubernetes

    kubeadm reset f modprobe r ipip lsmod rm rf kube rm rf etc kubernetes rm rf etc systemd system kubelet service d rm rf e
  • Math&System

    Math 概述 Math 包含执行基本数字运算的方法 调用方式 Math类中无构造方法 但内部的方法都是静态的 可以通过 类名 进行调用 常用方法 方法名 方法名 说明 public static int abs int a 返回参数的绝对
  • 从 docker 容器内结构化日志记录到日志

    从 docker 容器内将结构化日志写入日志的最佳方法是什么 例如 我有一个使用以下方式编写的应用程序sd journal 发送我没有尝试更改应用程序 而是尝试通过 v var log systemd journal var log sys
  • 有没有办法阻止 Erlang 服务器自动启动 epmd?

    如果 epmd Erlang 端口映射器守护进程 尚未运行 Erlang 服务器将自动生成它 我更愿意使用 systemd 作为单独的服务来管理 epmd 这样 如果我在一台主机上运行多个 Erlang 服务器 例如 RabbitMQ 和
  • Gitlab CI 的 systemd 容器的入口点

    我正在构建一个用于运行 Gitlab CI 作业的 docker 映像 其中一个组件需要 systemd 启动并在容器内运行 这并不是一件小事 但网上有几个指南 所以我设法做到了 该过程的一部分需要在 Dockerfile 中定义此入口点
  • /vagrant挂载后如何运行nginx.service

    我想做的事 我正在尝试使 nginx 加载配置 vagrant由vagrant自动安装 所以我编辑了 nginx service 使其在安装共享文件夹后启动 但它不起作用 当然nginx是在virtualbox guest utils se
  • 启动期间自动挂载单独分区时 systemd/udev 依赖失败

    编辑 当我尝试使用带有任何安装点的单独分区时 而不仅仅是使用单独的分区时 就会发生这种情况 var 我正在使用 Buildroot 构建嵌入式 Linux 系统 我尝试为 var 使用单独的分区 但任何安装点都会发生这种情况 我的init系
  • 当发出 SIGTERM 时,可以在多大程度上依赖写入磁盘?

    我正在为 Linux 进行开发 并且有一个守护进程 当它被杀死时应该写入磁盘 该守护进程可以配置为监听SIGTERM并在收到该信号时写入磁盘 我也很熟悉PrepareForShutdownD Bus信号由登录管理器 http www fre
  • Odoo15 - ModuleNotFoundError:没有名为“PyPDF2”的模块

    我是 Odoo 的新手 我使用 pyenv 来托管 odoo 和所有依赖项 全部在 odoo 系统用户下 我能够启动 odoo 服务 systemctl status odoo 15 odoo 15 service Odoo15 Loade
  • Systemd 启用的服务不再在启动时启动

    我很久以前制作了一些自定义的 systemd 服务 它们都具有相同的配置 当然 ExecStart 除外 这个配置工作了很多年 我从 18 04 LTS 版本开始就已经启动并运行了 ubuntu 但现在看起来其中一些 systemd 服务根
  • 使用 Ansible 从服务列表中仅启动特定的 systemd 服务

    我有清单systemd服务定义为 vars systemd scripts a service b service c service 现在我只想停下来a service从上面的列表中 如何使用来实现这一点systemd https doc
  • 如何构建 systemd 可以直接作为服务执行的 Spring Boot jarfile?

    如何构建一个 Spring Boot jarfilesystemd https freedesktop org wiki Software systemd 可以直接作为服务执行吗 按照中的示例作为 systemd 服务安装 http doc
  • 使用 .net core 3.0 并使用 /p:PublishSingleFile=true 标志时如何获取可执行文件的实际路径?

    我最近将一个应用程序升级到 dotnet core 3 并在构建过程中开始使用 PublishSingleFile 标志 通过这两个更改 查找可执行路径的方式发生了变化 现在 我不再获取可执行文件所在的路径 而是重定向到以下位置的随机目录

随机推荐

  • 5 essential skills every Web Developer should have?

    The idea here is that most of us should already know most of what is on this list But there just might be one or two ite
  • 安装的虚拟机没有了VMnet1

    虚拟的东西终归时有其缺陷的 xff0c 大家安装好虚拟机之后 xff0c 网络适配器中是有VMnat1和VMnat8俩块网卡的 xff0c VMnat1负责主机域虚拟机的host only通信 xff0c 而VMnat8则负责和虚拟机的na
  • 未来已来

    虚拟现实 xff0c 又称VR xff08 virtualreality xff09 xff0c 是一种综合利用计算机图形系统和现实中各种接口设备 xff0c 在计算机上生成可交互的沉浸式环境的技术 xff0c 可以将虚拟世界和现实世界实现
  • mount:No medium found

    使用vmware时 xff0c 科技将iso作为系统的镜像 但是 xff0c 在配置yum源的时候 xff0c 可能会遇到这样的问题 究其原因 xff0c 是由于镜像文件未启动 解决方法 xff1a 右击 xff0c 点击连接 xff0c
  • 什么叫跨平台语言

    什么叫跨平台语言呢 xff1f 今天就个人理解简单谈一下 xff0c 还望指正 简单的说 xff0c 就像插座和插头 xff0c 这世界上有没有完全通用的插座呢 xff1f 没有 但是比如某家公司 xff0c 制作了插座和插头 xff0c
  • rpm包管理功能全解

    通常在linux系统中 xff0c 服务是要通过程序来提供的 xff0c 通过调用各种接口编译好之后的源码包文件 xff0c 需要使用rpm xff08 redhat package manager xff09 命令来安装并提供相应的服务
  • 加密

    lt div id 61 34 article content 34 class 61 34 article content clearfix csdn tracking statistics 34 data pid 61 34 blog
  • 国内代码托管平台Gitee(码云)的入门使用

    网址在这 gt gt gt 码云官网地址 中文代码托管平台 xff0c 英文不好的话 xff0c 使用github一定的障碍 xff0c 所有gitee是很好的选择 文章目录 一 新建仓库二 AndroidStudio使用码云 xff08
  • Docker

    1 环境准备 官方网址 xff1a https docs docker com engine install centos CentOS 7 虚拟机 环境查看 root 64 localhost cat etc centos release
  • Idea kafka 远程 debug

    1 kafka kafka run class sh 修改 xff0c 总共两处需要修改 xff1a mhbtest 64 localhost kafka 2 11 1 0 1 vim bin kafka run class sh if l
  • 高质量嵌入式Linux C编程 .pdf

    http 链接 xff1a https pan baidu com s 10MjISMt0nNeVWo3L 8VCaQ 提取码 xff1a mxhh
  • 来到CSDN

    刚到CSDN 的时候写过一篇关于来到CSDN 的博客 感觉表达不够清楚在此修改一下 写博客是进入提高班后老师要求的 xff0c 至于老师为什么让我们写博客大家可以看这里 博客是需要用心经营的 开始的时候一直在网易上写 xff0c 后来发现网
  • 【毕设调试一】WiFi模块esp8266的调试

    硬件说明 xff1a span style color fe2c24 strong 提示 xff1a strong span span style color 0d0016 主控芯片STM32F103C8T6 xff0c 与WiFi通信串口
  • ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案

    ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案 参考文章 xff1a xff08 1 xff09 ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案 xff08 2 x
  • Huawei LiteOS与freeRTOS、Ucos主流嵌入式操作内核的区别

    LiteOS与freeRTOS Ucos主流嵌入式操作内核的区别 云社区 华为云
  • ROS串口读取16进制的数据

    include lt ros ros h gt 必备 include lt serial serial h gt ROS已经内置了的串口包 include lt iostream gt 输入输出库 int main int argc cha
  • Linux C语言 串口与网络的数据透传/串口服务器

    Linux下C语言 串口与网络的数据透传 已经有开源的软件ser2net 实现了类似的功能 而且更加强大 支持telnet配置参数 而且越来越大 下载源码看了 实现比较复杂 网络上也有许多类似的 但最终还是决定自己写一个 网口采用TCP通信
  • 【国产板切换到sd启动步骤】

    7 Jetson Nano正常启动后 xff0c 确认SD卡是否被识别 xff1a span class token function sudo span span class token function ls span dev mmcb
  • 如何使用 DATAX 以 UPSERT 语义更新下游 ORACLE 数据库中的数据?

    如何使用 DATAX 以 UPSERT 语义更新下游 ORACLE 数据库中的数据 xff1f 1 业务背景 在数据架构上 xff0c 很多大数据项目 xff0c 都会将 HIVE SPARK 等离线计算引擎计算获得的结果数据同步到下游业务
  • 【systemd】关于systemd中的 $MAINPID

    MAINPID is a systemd variable for your service that points to the PID of the main application MAINPID是服务的systemd变量 xff0c