Netatalk 4.5.0
名前
afpd — Apple Filing Protocol デーモン
概要
afpd [-d] [-F configfile]
afpd [-v | -V | -h]
説明
afpdはUnixファイルシステムにApple Filing Protocol (AFP)インターフェースを提供する。 これは通常、netatalk(8)によってブート時に起動される。
afpdはファイルサーバの挙動と設定を決めるためにafp.confを利用する。
オプション
-d
デーモンをターミナルから切り離さない。
-v
バージョン情報を出力して終了する。
-V
詳細情報を表示してから終了する。
-h
ヘルプを表示してから終了する。
-F configfile
利用する設定ファイルを指定する。
シグナル
最終手段を除いて、ユーザのafpdをシャットダウンするためにSIGKILL (-9)を使うのは推奨しない。なぜなら、CNIDデータベースが矛盾したままになるかもしれないからである。afpdを終了する安全な方法は、SIGTERM (-15)シグナルを送ってそれ自身が停止するのを待つことである。
親afpdプロセスにSIGTERMやSIGUSR1を送れば子プロセスに伝わるので、全部に作用するだろう。
SIGTERM
きれいに終了する。親プロセスから子プロセスに伝わる。
SIGQUIT
親afpdにこれを送ると全ての子プロセスを終了する。 休止時間なしでAFPサービスを実施するのに使われる。
SIGHUP
afpdにSIGHUPを送ると設定ファイルを再読み込みする。
SIGINT
子afpdにSIGINTを送るとmax_debugロギングが有効になり、 システムのtmpディレクトリにキャッシュをダンプする:
- デバッグログ: afpd.PID.XXXXXX
- ディレクトリキャッシュ: dircache.PID
ディレクトリキャッシュダンプ (afp.conf(5)のdircache modeを参照):
- LRUモード: キャッシュされたエントリの単一キュー
- ARCモード: T1/T2 (キャッシュされた),B1/B2 (ゴースト)リスト、パラメータp、統計
もう一度SIGINTを送ると元のログ設定に戻る。
SIGUSR1
afpdプロセスはクライアントに「The server is going down for maintenance.」というメッセージを送り、5分後に自身を終了する。新規接続を許さない。 子プロセスのafpdにこれを送った場合、他の子プロセスには影響しない。 それでもメインプロセスは終了するだろうし、全ての新規接続は無効になる。
SIGUSR2
子afpdプロセスのAFPクライアントにサーバメッセージを送る。 シグナルが受信されると、afpdはメッセージディレクトリ(デフォルト: LOCALSTATEDIR/netatalk/msg/; コンパイル時のパスはafpd -Vで表示) で以下の順序でメッセージファイルを探す:
- message.PID — 子プロセスIDで終わるファイル名のファイル
- message — PID特定のファイルが見つからないときのフォールバック
ファイルの内容は読み取られ、接続されたAFPクライアントにサーバメッセージとして転送される。ファイルは読み取られた後に削除される。 このシグナルは子afpdプロセスにのみ送るべきである。 親afpdはSIGUSR2ハンドラをインストールしないので、親プロセスに送ると親プロセスが終了し、新しい接続ができなくなる。
使用例:
# 接続されたユーザの子afpd PIDを見つけてから: echo "Scheduled maintenance tonight at 22:00" \ > LOCALSTATEDIR/netatalk/msg/message.PID kill -USR2 PID
ファイル
afp.conf
afpdが使う設定ファイル
extmap.conf
ファイル名拡張子マッピング
afp_signature.conf
サーバシグネチャのリスト
afp_voluuid.conf
Time MachineボリュームのUUIDのリスト
LOCALSTATEDIR/netatalk/msg/message.PID, LOCALSTATEDIR/netatalk/msg/message
SIGUSR2で読み取られるサーバメッセージファイル。PID特定の形式(message.PID)は単一の接続されたクライアントを対象とする。 プレーンなmessage形式はPID特定のファイルが存在しないときのフォールバックである。両方とも読み取られた後に削除される。 コンパイル時のディレクトリパスはafpd -Vで表示される。
関連項目
netatalk(8), hosts_access(5), afp.conf(5), afp_signature.conf(5), afp_voluuid.conf(5), extmap.conf(5), dbd(1)
著者
CONTRIBUTORS を参照