首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >systemd :如何获得运行目标

systemd :如何获得运行目标
EN

Server Fault用户
提问于 2017-02-28 21:59:00
回答 5查看 30.3K关注 0票数 17
  • 命令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

EN

回答 5

Server Fault用户

发布于 2020-02-24 11:25:37

在systemd中,一次可能有多个活动目标。

要检查所有当前活动目标的列表,请执行以下操作:

代码语言:javascript
复制
systemctl list-units --type target --state active

要快速查明特定目标(例如user-defined.target)是否活动:

代码语言:javascript
复制
systemctl is-active user-defined.target
票数 14
EN

Server Fault用户

发布于 2017-03-01 13:45:14

没有任何systemd命令来查询正在运行的目标或与isolate一起使用的最后一个目标。

systemd附带了一个名为runlevel的命令,以确保旧系统的兼容性。这将防止当前的“运行级”。这个概念已经过时,但正如man runlevel所看到的那样,特定的运行级别映射到特定的系统目标。只要使用标准目标,此命令可能会有帮助。如果使用了未映射到遗留运行级的自定义目标,则不会有任何用处。

关于解决方法的更多讨论是在[https://www.centos.org/forums/viewtopic.php?t=54347](CentOS上。

票数 3
EN

Server Fault用户

发布于 2018-12-14 15:47:11

与前面提到的答案类似,您可以使用:

代码语言:javascript
复制
systemctl list-units --type target | egrep "eme|res|gra|mul" | head -1

结果你得到的是你目前的目标。

如果您已经安装了上面这四个字符串之一的单元,则可以在它们前面添加^字符- egrep "^eme|^res|^gra|^mul"

在我阅读了下面的“爱德华·罗森伯格”的帖子后,我决定编辑我的答案,实际上是为了提供更多的澄清。我不知道爱德华在发布他的答案之前是否尝试过我的解决方案。

但是,如果使用上面的命令,就会得到正确的结果。爱德华说,他得到了图形和多用户目标。我们应该只在图形用户界面环境中获得图形化和多用户目标,因为graphical.target需要多用户。

Head成功地解决了这个只显示第一行(graphical.target)的问题,因为结果是按字母顺序排序的。

@如果你读了这篇文章,如果这个命令对你有用,请提供反馈,谢谢.

此外,我还想提供更短的命令/打字的信息:

  • 您可以使用-t而不是--type
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/835515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档