名前
getsid - セッション ID を取得する。
書式
#include <unistd.h>
pid_t getsid(pid_t pid);
説明
getsid(0) は呼び出し元のプロセスのセッション ID を返す。 getsid(p) はプロセス ID p を持つプロセスのセッション ID を返す (プロセスのセッション ID は セッションリーダーのプロセスグループ ID である)。
返り値
成功すると、セッション ID が返される。 エラーの場合、(pid_t) -1 が返され、 errno が適切に設定される。
エラー
EPERM | プロセス ID p のプロセスは存在するが、現在のプロセスと同じセッションではなく、 さらに実装がこの状態をエラーと判断した場合。 |
ESRCH | プロセス ID が p のプロセスがない。 |
準拠
SVr4, POSIX.1-2001
注意
Linux は EPERM を返さない。
Linux では、1.3.44 以降にこのシステムコールがある。 libc での対応は 5.2.19 以降である。
glibc でプロトタイプを設定するためには _XOPEN_SOURCE と _XOPEN_SOURCE_EXTENDED の両方を定義するか、 "#define _XOPEN_SOURCE n" を使う。 ここで n は 500 以上の整数である。