SETPROCTITLE(3)

名称
setproctitle - ps(1) 用のプロセスタイトルを設定する

書式
<sys/types.h> <libutil.h> void setproctitle(const char *fmt, ...)

解説
setproctitle() ライブラリルーチンは、 ps(1) コマンドに現れるプロセスタイトル を設定します。

タイトルは実行可能モジュールの名前に、 fmt で指定される引数の printf(3) スタイルの拡張の結果が続いたもので設定されます。 fmt 引数が “-” 文字で開始する場合、実行形式名はスキップされます。

fmt が NULL の場合、プロセスタイトルは元に戻ります。

例
デーモンにタイトルを設定してそのアクティビティを示す方法は次のとおりです。

    setproctitle("talking to %s", inet_ntoa(addr));

関連項目
ps(1), w(1), kvm(3), kvm_getargv(3), printf(3)

規格
setproctitle() は、黙示的には標準ではありません。 ps(1) コマンド行が変化するようにする他の方法 (argv[0] ストリング上のコピーを含む)も黙示的に 移植不可能です。システム付属の setproctitle() が存在する場合は、これを使用する方が賢明です。

不都合なことに、 setproctitle() の他のバージョンを呼び出す他の規約がある 可能性があります。ただし、作者はまだどれも見つけていません。これは主導的な 慣行であると信じられています。

実現は、 NetBSD と BSD/OS も含めて、実現システムは他のシステムとの 互換性があると考えられます。

歴史
setproctitle() は FreeBSD 2.2 で最初に現れました。 他のオペレーティングシステムも同じような機能を持っています。

作者
-nosplit Peter Wemm <peter@FreeBSD.org> は、 Eric Allman <eric@sendmail.org> による Sendmail 8.7.3 ソースコードからアイデアを取りました。