systemctl get-default返回user-defined.target。systemctl isolate multi-user.target切换到multi-user.target。user-defined.taret上运行和应该在multi-user上运行的服务正在运行,这意味着我在multi-user.target上。systemctl get-default总是返回user-defined.target。问题是,在不查看和排序服务的情况下,我如何知道在使用multi-user.target之后我正在运行isolate?
发布于 2020-02-24 11:25:37
在systemd中,一次可能有多个活动目标。
要检查所有当前活动目标的列表,请执行以下操作:
systemctl list-units --type target --state active要快速查明特定目标(例如user-defined.target)是否活动:
systemctl is-active user-defined.target发布于 2017-03-01 13:45:14
没有任何systemd命令来查询正在运行的目标或与isolate一起使用的最后一个目标。
systemd附带了一个名为runlevel的命令,以确保旧系统的兼容性。这将防止当前的“运行级”。这个概念已经过时,但正如man runlevel所看到的那样,特定的运行级别映射到特定的系统目标。只要使用标准目标,此命令可能会有帮助。如果使用了未映射到遗留运行级的自定义目标,则不会有任何用处。
关于解决方法的更多讨论是在[https://www.centos.org/forums/viewtopic.php?t=54347](CentOS上。
发布于 2018-12-14 15:47:11
与前面提到的答案类似,您可以使用:
systemctl list-units --type target | egrep "eme|res|gra|mul" | head -1结果你得到的是你目前的目标。
如果您已经安装了上面这四个字符串之一的单元,则可以在它们前面添加^字符- egrep "^eme|^res|^gra|^mul"。
在我阅读了下面的“爱德华·罗森伯格”的帖子后,我决定编辑我的答案,实际上是为了提供更多的澄清。我不知道爱德华在发布他的答案之前是否尝试过我的解决方案。
但是,如果使用上面的命令,就会得到正确的结果。爱德华说,他得到了图形和多用户目标。我们应该只在图形用户界面环境中获得图形化和多用户目标,因为graphical.target需要多用户。
Head成功地解决了这个只显示第一行(graphical.target)的问题,因为结果是按字母顺序排序的。
@如果你读了这篇文章,如果这个命令对你有用,请提供反馈,谢谢.
此外,我还想提供更短的命令/打字的信息:
-t而不是--typehttps://serverfault.com/questions/835515
复制相似问题