在運行 systemd 的系統上, 有時候關機時會碰到特定 unit 超時的問題. 尤其是多進程的 unit (例如 systemd-user-session.service 及相關的 units), 這時候要定位造成問題的進程會需要花點心思. 查找關機問題麻煩的是, 這時候進程會被一一的幹掉, 除非是 init (pid 1) 進程本身, 不然想要記錄這個過程基本都不太可行. 好在, Linux kernel 現在都內建有 ftrace, 在告訴 kernel 我們想 trace 哪些 events 後, log 會保留在 kernel 中的 ring buffer 裡, 這樣, 只要能在最後將 ring buffer 中的內容保留下來, 就可以用來分析定位問題. 保留的時間點, 在 systemd