Red Hatの森若です。 この記事はRed Hat Advent Calendar 2023 の21日目です。 デバッグなどのためにsystemdのservice unitで起動されるプロセスにstraceを仕掛けたいとき、ちょっとしたハマり所があるのでその説明とワークアラウンドを紹介します。 目次 実行中のserviceをstraceする 実行開始からserviceをstraceする Type=forking 時の問題 参考文献 おまけの宣伝 実行中のserviceをstraceする この場合は特にハマるところはありません。 既に実行中のプロセスへのstraceは、cgroupで関連するプロセス一覧が管理されているので、それを利用します。関連する全てのプロセスを指定し、-fでforkも追跡することで、関連する全プロセスを指定します。 serviceに対応するcgroupを確認する。 $
![systemdのserviceをstraceする時のtips - 赤帽エンジニアブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/444db81af3ba0e577507bf720addd390dd3737cf/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmrwk%2F20231217%2F20231217120131.png)