<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Design on IHEXON BLOG</title><link>https://ihexon.github.io/tags/design/</link><description>Recent content in Design on IHEXON BLOG</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>zzheasy@gmail.com (IHEXON)</managingEditor><webMaster>zzheasy@gmail.com (IHEXON)</webMaster><copyright>Copy, _right?_ :thinking_face:</copyright><lastBuildDate>Tue, 19 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ihexon.github.io/tags/design/index.xml" rel="self" type="application/rss+xml"/><item><title>如何设计虚拟机的关机流程</title><link>https://ihexon.github.io/posts/revm-shutdown-design/</link><pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate><author>zzheasy@gmail.com (IHEXON)</author><guid>https://ihexon.github.io/posts/revm-shutdown-design/</guid><description>&lt;p&gt;虚拟机的关机流程很容易被写成一团：收到用户中断，发一个信号，关几个服务，杀掉虚拟机，然后退出。&lt;/p&gt;
&lt;p&gt;这看起来能工作，但一旦运行时变复杂，就会暴露出许多问题：日志丢失、磁盘没来得及 sync、guest-agent 没跑完整、宿主侧代理提前退出、第二次 Ctrl-C 也不能立刻结束。&lt;/p&gt;
&lt;p&gt;这次 revm 的关机流程重构，本质上不是修一个 Go 代码问题，而是重新思考一个虚拟机运行时应该如何表达“关机”。&lt;/p&gt;</description></item></channel></rss>