daemontools (でーもんつーるず)は ダニエル・バーンスタイン (djb) によって開発された、Unix系OSにおけるサービス管理のためのツールのパッケージである。Unix系OSにおける、rc.d、rc.local、inittab などの代替としてデーモンを起動させることができる。2007年11月よりパブリックドメインとなった。daemontools は、Unix系OSにおけるサービスの管理作業(プロセス監視、ロギングなど)をシンプルな手法で行うための支援ツールである。たとえば、supervise というプログラムは、フォアグラウンド起動させたデーモンプロセスの監視を行い、multilogというプログラムは、パイプ経由で取りこぼしなくログの記録ができる。daemontools においては root権限の絞り込みが行われるため、よりセキュアな運用が可能である。daemontools では、設定により変更可能であるが、/services というルート直下のディレクトリに各種デーモン用のサービスディレクトリを個別に配置し、各サービスディレクトリに起動スクリプト等を配置する。また監視対象のプロセスは、フォアグラウンドで起動させる必要がある。たいていのデーモンはフォアグラウンドでの起動が可能だが、バックグラウンドでしか起動できないデーモンの場合は、daemontools に含まれる codice_1 ユーティリティを使用してフォアグラウンドで起動させる。djbの開発したinetd代替ソフトウェアであるucspi-tcpを併用することでさらにきめ細かい管理を行うことができる。djbの開発したdjbdnsや、qmailのみならず、ApacheやPostfix、MySQL、IRCのボットなども daemontools の管理下におくことができる。工夫を凝らしたさまざまな起動スクリプトがインターネット上で公開されている。daemontools はパッケージの総称であり daemontool というプログラム自体は存在しない。この節では、daemontoolsに含まれるいくつかのユーティリティを用途別に紹介する。codice_2 は /services ディレクトリ直下を監視し、ディレクトリを発見すると、そのディレクトリ内でサービス管理デーモン codice_3 を起動する。codice_3 は、カレントディレクトリ (/service/サービスディレクトリ) 直下の run という名称のプロセス起動用のコマンドを実行する。多くの場合、run コマンドはシェルスクリプトで記述されており、その中でデーモンの実行に必要な環境変数等を設定し、起動したいデーモンのコマンドをexecするという構造になっている。run プロセス (exec したデーモンプロセス) が何らかの理由で終了すると、codice_3 はその度に run を実行する。デーモンの起動や停止 (プロセスへのシグナルを送信) をする場合は codice_6 コマンドを使用して codice_3 に指示する。。svc コマンドの使用により各種デーモンの停止、起動を統一的な方法で管理することができる。また、プロセス番号を意識することなく TERM、KILL、HUP などのシグナルを送ることができる。codice_3 で起動されたプロセスは、codice_9で、死活や起動時間を確認することができる。codice_10は、標準入力からのパイプを処理し、指定したログファイルに出力する。ログの取得にUDPパケットではなく、Unixパイプを使用するため高負荷時でもsyslogdのような取りこぼしがおきない。ログのタイムスタンプはcodice_11 ユーティリティにより、TAI64N (Temps Atomique International)フォーマットで記録される。このフォーマットは正確だが可読性が低いため、ログ閲覧時は、codice_12 フィルタを用いてひとの読める形式に変換する。
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。