我有一个 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将被再次调用