getsid(2) セッション ID を取得する。

書式

#include <unistd.h>

pid_t getsid(pid_t pid);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

getsid():

_XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE >= 200809L

説明

getsid(0) は呼び出し元のプロセスのセッション ID を返す。 getsid(p) はプロセス ID p を持つプロセスのセッション ID を返す (プロセスのセッション ID は セッションリーダーのプロセスグループ ID である)。

返り値

成功すると、セッション ID が返される。 エラーの場合、(pid_t) -1 が返され、 errno が適切に設定される。

エラー

EPERM
プロセス ID p のプロセスは存在するが、呼び出し元のプロセスと同じセッションではなく、 さらに実装がこの状態をエラーと判断した場合。
ESRCH
プロセス ID が p のプロセスがない。

バージョン

このシステムコールは Linux バージョン 2.0 以降で利用可能である。

準拠

SVr4, POSIX.1-2001.

注意

Linux は EPERM を返さない。

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。