Systemd 服务仅在重新启动时才起作用

Systemd 服务仅在重新启动时才起作用

我有一个运行 python 脚本的 systemd 服务。该脚本打开一个网页,然后运行一个 http 套接字服务器来接收命令。

当我重新启动树莓派(型号 3 b v1.2)时,服务状态为活动并正在运行。网页打开,但服务器未启动。

如果我重新启动服务,脚本就会运行并工作,包括服务器。

服务代码如下所示:

[Unit]
Description=My magic display service.
After=graphical.target
Requires=network.target

[Service]
Type=idle
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/pi/.Xauthority"
User=pi
ExecStart=/usr/bin/python3 -u /home/pi/DisplayAndControl.py
Restart=always
StandardOutput=file:/tmp/DisplayAndControl.log
StandardError=inherit

[Install]
WantedBy=multi-user.target

我尝试在 python 代码开始处添加 30 秒的等待,这对服务器也有效。

如何找出脚本需要哪些依赖项,并且当前未启动,但在 30 秒之前的某个时刻加载?如果我然后输入 After=name_of_dependency.target 应该有效吗?

谢谢,

相关内容