首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ACPI:断电与关机

ACPI:断电与关机
EN

Unix & Linux用户
提问于 2017-10-13 17:17:37
回答 2查看 3.7K关注 0票数 0

我正在运行一个带有CentOS 7来宾的虚拟机。启动了ACPI守护进程。

当我关闭系统管理程序时,客户操作系统就会关闭。我可以在来宾的syslog中看到它收到了按下电源按钮的通知,但是它并没有停止所有的服务。客人操作系统就这样停止了。

是否有办法让管理程序等到客户操作系统中的所有服务都停止?

EN

回答 2

Unix & Linux用户

发布于 2020-06-30 08:57:50

通常,当我看到这种情况发生时,这是因为VM的管理员没有正确配置或启动服务。

在RHEL/CentOS 6中,除非启动脚本创建一个特定于服务的标志文件来指示服务已经启动,否则关闭过程将跳过关闭该服务,因为它将假设服务器已经停止,或者从一开始就没有启动。但这仍然允许停止并重新启动最初在引导时启动的服务,无论管理员希望怎样。

使用RHEL/CentOS 7,如果使用systemctl命令或service兼容性包装器启动服务,则服务进程被放置在由systemd跟踪的自己的控制组中。如果您只是在命令行上运行/etc/init.d/name-of-service start,则不会发生这种情况。即使服务最初是在启动时启动的,如果您手动停止并重新启动它,服务特定的控制组将在其中不再有任何活动进程时立即消失。

当系统关闭时,systemd将遍历所有特定于服务的控制组,在它们上运行ExecStop操作,并等到该控制组中的所有进程都死掉或到达超时为止。保留在“默认”控件组中的任何进程都被假定与任何特定的服务不相关联,而且简单地是可终止的,这可能不是停止使用/etc/init.d/name-of-service start启动的进程的正确方式。

因此,在任何使用systemd的系统中,使用正确的命令启动服务(=使用systemctl start <name>或兼容性包装器service <name> start)在一种新的方式中是非常重要的。

票数 2
EN

Unix & Linux用户

发布于 2017-10-16 18:53:31

首先,你确定客人在等待了足够长的时间后才停止服务吗?

我将假设您使用libvirt来管理您的qemu。如果您想要自定义您的本地系统给libvirtd多长时间来关闭它的来宾,我相信您将在一个与libvirtd.service对应的systemd插入单元中定义libvirtd.service。有关此问题的更多信息,请参见这里

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/397975

复制
相关文章

相似问题

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