重新启动systemctl上的所有特定的单位,而不是for循环?

在这里有人能够启动/停止/重新加载/ … systemctl上通配符或类似的方法指定单位的列表?

我尝试做一些事情,如: systemctl restart openstack-nova-*.services systemctl restart openstack-nova-?.servicessystemctl restart openstack-nova-?.services

但是这是一个死路一条,我在systemctl的手册上没有发现任何有用的东西。

我可以使用for循环,但在此之前,我将不得不make一个systemctl -t service --failed ,然后grep列出的单位…有点无聊不是?

所以,如果有人知道是否可以做这样的事情,我会很高兴听到。

如果不是的话,我想我会推荐systemctl开发者名单上的想法,或者如果我有时间的话可以做补丁^^

    两年后,systemctl仍然不允许使用通配符,即使它们会非常有用。

    但是我做了关于systemctl -t service --failed ,我把这个黑systemctl -t service --failed 。 我决定把它发布在这里,因为下一个发现这个问题的人可以帮助它。

    systemctl restart $(systemctl -t service --failed | grep openstack-nova-*.service | cut -d ' ' -f 1)

    这需要systemctl -t service --failed ,greps匹配“openstack-nova – *。service”的服务,然后通过剪切( cut )到空间( -d ' ' )去除这些文件的描述符,结果( -f 1 )。 然后它重新启动整个一堆,因为幸好systemctl命令允许多个服务传递给它停止。