我在执行 systemd 服务时遇到问题前状态suspend.target
但它不起作用。相反,该systemd
服务似乎执行后 suspend.target
不管我做什么。我尝试了各种各样的事情,但我不知道该寻找什么了。
这就是我目前所拥有的:
“主”服务文件,运行 python 脚本:
python_service.service
:[Unit] Description=Python Systemd Service [Service] ExecStart=/usr/bin/python3 /home/user/python_service.py --user "user" --password "password" Environment=XAUTHORITY=/home/user/.Xauthority Environment=DISPLAY=:0.0 Environment=PYTHONUNBUFFERED=1 Restart=on-failure RestartSec=5 User=root [Install] WantedBy=multi-user.target
现在,为了停止并重新启动该服务,我决定创建另外 2 个 systemd 服务文件,其唯一目的是执行
systemctl stop python_service.service
,systemctl restart python_service.service
如下所示:python_service_stop.service
:[Unit] Description=Stop python_service before suspend Before=suspend.target [Service] Type=simple ExecStart=/bin/systemctl stop python_service.service User=root [Install] WantedBy=multi-user.target
不管我尝试什么总是停止该服务后尽管定义了 ,但 PC 仍会恢复Before=suspend.target
。
现在的问题是:我怎样才能让它真正python_service.service
停止前达到suspend.target
?