Debian Systemd oneshot服务不支持';不归

Debian Systemd oneshot服务不支持';不归,debian,systemd,Debian,Systemd,我有一个systemd oneshot服务,定义如下: [Unit] Description=Firewall After=network.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/etc/iptables/iptables start ExecStop=/etc/iptables/iptables stop [Install] WantedBy=multi-user.target 当然,脚本是经过测试并运行的

我有一个systemd oneshot服务,定义如下:

[Unit]
Description=Firewall
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/iptables/iptables start
ExecStop=/etc/iptables/iptables stop

[Install]
WantedBy=multi-user.target
当然,脚本是经过测试并运行的:它在启动时添加规则,在停止时删除规则。我的问题是当我尝试使用

systemctl start iptables.service

它永远不会回来。我必须^C它,它真的添加了iptables规则。我可能有什么问题?

Type=oneshot
在ExecStart命令返回之前不会从start返回。你的iptables脚本就是这样吗?也许
Type=simple
是可能的,因为
systemctl start
会立即返回,尽管在设置iptables之前,可能会启动任何相关单元。是的,我的原始脚本确实很快返回(应用了所有规则之后)。我完全改变了脚本的工作方式,现在一切正常。但我没有找到解决问题的办法。它从一开始就应该起作用。