名前


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 以上の整数である。

関連項目


setsid(2), feature_test_macros(7)

openSUSE Logo

コンテンツ