重新启动、重新加载或停止 systemd 服务对 ExecStartPost 有影响吗?

重新启动、重新加载或停止 systemd 服务对 ExecStartPost 有影响吗?

我有一个 systemd 服务文件,其中 ExecStartPost 用于启动长时间运行的进程。

此进程是否会受到服务上调用的重新加载的影响(假设 ExecReload 不执行与该进程相关的任何操作)?

当 stop 被调用时怎么办?

在已停止的服务上调用启动是否会再次调用 ExecStartPost 命令?

答案1

当您在进程上调用 start 时,将执行这些命令

  • ExecStartPre 将在 ExecStart 之前运行的命令。
  • ExecStart 启动进程时运行的主要命令。
  • ExecStartPost 将在所有 ExecStart 命令完成后运行的命令。

当你调用 stop 时,你执行:

  • ExecStop 停止进程时运行的主要命令。
  • ExecStopPost 将在 ExecStop 完成后运行的命令。

当你调用 reload 时:

  • ExecReload 命令将运行

所以回答你的问题

  • 调用 reload 时该进程不会受到影响,因为 ExecReload 不会执行与该进程相关的任何操作。
  • 当调用 stop 时,如果在 ExecStop 或 ExecStopPost 命令中指定了该进程,则该进程将受到影响
  • 当start被调用时ExecStartPost将被再次调用

相关内容