首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Systemd/agetty:会话结束时停止机器

Systemd/agetty:会话结束时停止机器
EN

Unix & Linux用户
提问于 2013-02-25 10:47:45
回答 1查看 467关注 0票数 0

使用运行基于systemd的容器的LXC,一个将自动丢弃到容器上的控制台会话中。通过创建和修改/etc/systemd/system/console-getty.service,使其具有ExecStart行,如下所示:

代码语言:javascript
复制
ExecStart=-/sbin/agetty --noclear -a <username> -s console 115200,38400,9600

可以跳过登录会话,直接进入以特定用户身份运行的会话。

我想要的是,当这个会话结束时,机器会自动停止。在systemd或agetty中,是否有一种方法来配置它?作为参考,主机是Ubuntu12.04,容器运行的是最近的Arch基础。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2013-10-24 00:04:27

答案可以在console-shell.service中找到:

代码语言:javascript
复制
ExecStopPost=-/bin/systemctl poweroff

顺便说一句,您不需要制作console-getty.service的副本就可以进行这些修改。尝试以下几点:

代码语言:javascript
复制
# rm /etc/systemd/system/console-getty.service
# mkdir /etc/systemd/system/console-getty.service.d
# cat > /etc/systemd/system/console-getty.service.d/custom.conf << EOF
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear -a <username> -s console 115200,38400,9600
ExecStop=-/bin/systemctl poweroff
EOF
# systemctl daemon-reload

第一个空的ExecStart=条目清除从/lib/systemd/system/console-getty.service继承的值。有关自定义systemd单元文件的方法的更多信息,请参见systemd.unit(5)

与单元文件foo.service一起,可能存在一个目录foo.service.d/。在解析完文件本身之后,将解析该目录中带有.conf后缀的所有文件。这对于更改或添加配置设置到单元中非常有用,而无需修改它们的单元文件。确保所包含的文件在任何指令之前都具有适当的节头。

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

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

复制
相关文章

相似问题

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