我可以为 systemd 服务创建 PID 文件吗?

我可以为 systemd 服务创建 PID 文件吗?

我有两个在系统启动后运行的 systemd 服务。我需要为这两个服务设置 CPU 亲和性,但我无法手动执行此操作,因为每次重新启动或服务重启后,PID 都会发生变化。

这两个 systemd 服务是否可以在启动时创建 PID 文件,以便我可以在另一个脚本中使用该 PID 文件的值来设置该服务的 CPU 亲和性?

这是其中一项服务的示例:

[Unit]
Description=public 1 run
After=network.target

[Service]
User=steam
Group=steam
Type=forking
ExecStart=/usr/local/bin/server @public1 start
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

如果您知道如何通过 PID 文件或任何其他方法实现此目的,请告诉我。

答案1

在 systemd 服务文件中设置 CPUAffinity=0 有效:

[Unit]
Description=public 1 run
After=network.target

[Service]
User=steam
Group=steam
Type=forking
ExecStart=/usr/local/bin/server @public1 start
CPUAffinity=0
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

相关内容