この記事では、C言語を使用してデーモンを作成する方法を紹介します。デーモンとは、制御端末なしでバックグラウンドで長時間実行されるプロセスです。代表的なデーモンの例としてnginxやsshdなどがあり、通常デーモンはstdoutやstderrへの書き込みができず、制御端末と接続を持ちません。この特性を保つために「ダブルフォーク」という手法が用いられます。デーモンを作成する方法として、プログラムからfork()を使用する方法やsystemdサービスを利用する方法があります。systemdを使用すると、サービスをより良く管理できる利点があります。本記事では、glibcのdaemon関数を使用したデーモンのプログラム例も示しています。