是否可以创建非分叉的 vnc 服务?

是否可以创建非分叉的 vnc 服务?

我跟着本文创建 vnc 服务。该服务正在分叉并使用 PID 文件。我的服务描述版本 —[电子邮件保护]— 看起来像这样:

[Unit]
Description=Start TightVNC at startup
After=syslog.target network.target

[Service]
Type=forking
User=interactive
Group=interactive
WorkingDirectory=/home/interactive

PIDFile=/home/interactive/.vnc/%H:%i.pid
ExecStartPre=/usr/bin/touch /home/interactive/.vnc/%H:%i.pid
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

但是,systemd 文档在 PIDFile 下包含以下内容:

请注意,在现代项目中应避免使用 PID 文件。尽可能使用 Type=notify、Type=notify-reload 或 Type=simple,这样就不需要使用 PID 文件来确定服务的主进程,并避免不必要的分叉。

是否有可能避免 vnc 服务的分叉和 PID 文件?

相关内容