阻止closures,直到ExecStop脚本完成

我有一个在启动时无限运行的脚本,另一个脚本安全地closures它。 第二个脚本需要连接到远程数据库。 它们都分别在ExecStartExecStop的相同服务中ExecStart 。 我需要第二个脚本来阻止关机/重启,直到完成。 目前第一个脚本工作正常,但第二个脚本提前终止。 这是我到目前为止:

 [Unit] DefaultDependencies=no Wants=network-online.target After=network.target network-online.target Before=reboot.target shutdown.target halt.target [Service] Type=oneshot RemainAfterExit=true User=test ExecStart=/usr/bin/python /home/test/test.py ExecStop=/usr/bin/sh /home/test/test KillMode=none [Install] WantedBy=multi-user.target 

我尝试使用以下命令 : systemd等待命令完成之前重新启动/关机或杀死其他进程,但它并没有解决我的问题,似乎他是命令运行相对较快。

我添加了以下,它的工作:

 TimeoutSec=300min 

我最后的configuration是:

 [Unit] DefaultDependencies=no Wants=network-online.target After=network.target network-online.target Before=reboot.target shutdown.target halt.target [Service] Type=simple RemainAfterExit=true User=test ExecStart=/usr/bin/python /home/test/test.py ExecStop=/usr/bin/sh /home/test/test KillMode=none TimeoutSec=300min [Install] WantedBy=multi-user.target 

注意 :我故意没有使TimeoutSec=infinity