Chr*_*ski 13 files pid systemd
我在 path 有一个 systemd-machined 插件/etc/systemd/system/systemd-machined.service.d/10-machined-pid-file.conf
。当我跑步时,systemctl status systemd-machined
我确实看到了线条
Drop-In: /etc/systemd/system/systemd-machined.service.d
??10-machined-pid-file.conf
Run Code Online (Sandbox Code Playgroud)
但是,我在 /var/run/ 中没有看到 PID 文件。基于我的访问:
[Serivce]
PIDFile=/var/run/machined.pid
Run Code Online (Sandbox Code Playgroud)
我相信创建该 PID 文件应该没有任何问题。有什么我想念的吗?
Mic*_*ton 24
该PIDFile=
设置不会创建PID 文件。这仍然取决于服务本身,就像过去 40 年一样。相反,这个选项告诉 systemd 在哪里可以找到现有的 PID 文件(如果有的话)。在大多数情况下,根本不需要它,因为 systemd 会将服务保存在自己的 cgroup 中,并且不需要 PID 文件来跟踪它们。但是,如果服务自行清理失败,systemd 会在服务退出时删除一个 PID 文件。
从文档:
采用指向此守护程序的 PID 文件的绝对文件名。对于
Type=
设置为 的服务,建议使用此选项forking
。systemd 会在服务启动后读取守护进程主进程的PID。systemd 不会写入此处配置的文件,但如果该文件仍然存在,它会在服务关闭后删除该文件。
小智 14
遗憾的是,即使您PIDFile=
在服务的单元文件中指定了一行,systemd 也不会为非分叉服务创建 PID文件。但是你可以用ExecStartPost=
一行来作弊,例如:
ExecStartPost=/bin/sh -c 'umask 022; pgrep YOURSERVICE > /var/run/YOURSERVICE.pid'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23695 次 |
最近记录: |