<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>systemd on Ikoma's Blog</title><link>https://blog.yusukeikoma.com/ja/tags/systemd/</link><description>Recent content in systemd on Ikoma's Blog</description><generator>Hugo</generator><language>ja-jp</language><lastBuildDate>Sat, 03 Oct 2026 18:08:27 +0900</lastBuildDate><atom:link href="https://blog.yusukeikoma.com/ja/tags/systemd/index.xml" rel="self" type="application/rss+xml"/><item><title>systemdの再起動中、ソケットアクティベーションなら接続は拒否されず、待たされる</title><link>https://blog.yusukeikoma.com/ja/posts/replace-running-daemon-without-downtime/</link><pubDate>Sat, 03 Oct 2026 18:08:27 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/replace-running-daemon-without-downtime/</guid><description>稼働中のデーモンをリクエストを落とさずに入れ替える手順書です。小さなTCPサーバーを本物のsystemdで動かして試しました。単純なrestartは毎回、接続の拒否かリセットを起こしました。SO_REUSEPORTで新旧を並べる方法は拒否ゼロでしたが、一部の回でリセットが出て、カーネルの設定でそれが消えました。ソケットアクティベーションはエラーなしでした。処理中リクエストのドレインとTimeoutStopSecの関係、新バージョンを確認して巻き戻すリリース切り替えも扱います。</description></item><item><title>サービスが起動した更新プロセスは、setsidしてもsystemdに殺される</title><link>https://blog.yusukeikoma.com/ja/posts/systemd-killmode-self-update/</link><pubDate>Mon, 28 Sep 2026 09:48:47 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/systemd-killmode-self-update/</guid><description>自分自身を更新するデーモンが、更新用のヘルパーを起動してから自分のユニットを再起動すると、落とし穴があります。ヘルパーはサービスのcgroupの中で起動し、再起動時にsystemdがそのcgroupの中身を全部終了させるからです。使い捨てのsystemdで試すと、setsidしたヘルパーは最後のログ行を出す前に消え、KillMode=processでは生き残るものの次のインスタンスに紛れ込み、systemd-runなら独立したユニットとして最後まで動きました。証拠、直し方、試していないことを書きます。</description></item></channel></rss>