##
1 プロセスのパラメタ

これらの関数とデータ要素は、現在のプロセスおよびユーザに対する情報 提供および操作のための機能を提供しています。

`environ`
  環境変数の値を表すマップ型オブジェクトです。例えば、 `environ['HOME']` は( いくつかのプラットフォーム上での) あなたの ホームディレクトリへのパスです。これは C の `getenv("HOME")` と 等価です。

  このマップ型の内容は、`os` モジュールの最初の import の時点、 通常は Python の起動時に site.py が処理される中で取り込まれます。 それ以後に変更された環境変数は `os.environ` を直接変更しない限り 反映されません。

  プラットフォーム上で `putenv()` がサポートされている場合、この マップ型オブジェクトは環境変数に対するクエリと同様に変更するために使うこ ともできます。`putenv()` はマップ型オブジェクトが修正される時に、 自動的に呼ばれることになります。

  注意: `putenv()` を直接呼び出しても`os.environ` の 内容は変わらないので、`os.environ`を直接変更する方がベターです。 注意: FreeBSD と Mac OS X を含むいつくかのプラットフォームでは、 `environ` の値を変更するとメモリリークの原因になる場合があります。 システムの `putenv()` に関するドキュメントを参照してください。

  `putenv()` が提供されていない場合、このマッピングオブジェクト に変更を加えたコピーを適切なプロセス生成機能に渡して、子プロセスが修正された環境変数 を利用するようにできます。

  プラットフォームが `unsetenv()` 関数をサポートしているならば、 このマッピングからアイテムを取り除いて環境変数を取り消すことができます。 `unsetenv()` は `os.environ` からアイテムが取り除かれた時に 自動的に呼ばれます。

`chdir`( | path)

`getcwd`( | )

  これらの関数は、``ファイルとディレクトリ'' (14.1.4 節) で 説明されています。

`ctermid`( | )

  プロセスの制御端末に対応するファイル名を返します。 利用できる環境: Unix。

`getegid`( | )

  現在のプロセスの実行グループ id を返します。この id は 現在のプロセスで実行されているファイルの `set id' ビットに 対応します。 利用できる環境: Unix。

`geteuid`( | )

  現在のプロセスの実行ユーザ id を返します。 利用できる環境: Unix。

`getgid`( | )

  現在のプロセスの実際のグループ id を返します。 利用できる環境: Unix。

`getgroups`( | )

  現在のプロセスに関連づけられた従属グループ id のリストを返します。 利用できる環境: Unix。

`getlogin`( | )

  現在のプロセスの制御端末にログインしているユーザ名を返します。ほとんどの 場合、ユーザが誰かを知りたいときには環境変数 LOGNAME を、現在有 効になっているユーザ名を知りたいときには `pwd.getpwuid(os.getuid())[0]` を使うほうが便利です。 利用できる環境: Unix。

`getpgrp`( | )

  現在のプロセス・グループの id を返します。 利用できる環境: Unix。

`getpid`( | )

  現在のプロセス id を返します。 利用できる環境: Unix、 Windows。

`getppid`( | )

  親プロセスの id を返します。 利用できる環境: Unix。

`getuid`( | )

  現在のプロセスのユーザ id を返します。 利用できる環境: Unix。

`getenv`( | varname[, value])

  環境変数 varname が存在する場合にはその値を返し、存在しない 場合には value を返します。value のデフォルト値は `None` です。 利用できる環境: Unix互換環境、Windows。

`putenv`( | varname, value)

  varname と名づけられた環境変数の値を文字列 value に 設定します。このような環境変数への変更は、`os.system()` 、 `popen()` 、 `fork()` および `execv()` により起動された子プロセスに影響します。 利用できる環境: 主な Unix互換環境、Windows。

  注意: FreeBSD と Mac OS X を含むいつくかのプラットフォームでは、 `environ` の値を変更するとメモリリークの原因になる場合があります。 システムの putenv に関するドキュメントを参照してください。

  `putenv()` がサポートされている場合、 `os.environ` の要素に対する代入を行うと自動的に `putenv()` を呼び出します; しかし、`putenv()` の呼び出しは `os.environ` を更新しない ので、実際には `os.environ` の要素に代入する方が望ましい操作です。

`setegid`( | egid)

  現在のプロセスに有効なグループIDをセットします。 利用できる環境: Unix。

`seteuid`( | euid)

  現在のプロセスに有効なユーザIDをセットします。 利用できる環境: Unix。

`setgid`( | gid)

  現在のプロセスにグループ id をセットします。 利用できる環境: Unix。

`setgroups`( | groups)

  現在のグループに関連付けられた従属グループ id のリストを groups に設定します。groups はシーケンス型でなくてはならず、 各要素はグループを特定する整数でなくてはなりません。この操作は 通常、スーパユーザしか利用できません。 利用できる環境: Unix。 バージョン 2.2 で 新たに追加 された仕様です。

`setpgrp`( | )

  システムコール `setpgrp()` または `setpgrp(0, 0)` のどちらかのバージョンのうち、 (実装されていれば) 実装されている方を呼び出します。 機能については Unix マニュアルを参照してください。 利用できる環境: Unix

`setpgid`( | pid, pgrp)

  システムコール `setpgid()` を呼び出して、 pid の id をもつプロセスのプロセスグループ id を pgrp に設定します。 利用できる環境: Unix

`setreuid`( | ruid, euid)

  現在のプロセスに対して実際のユーザ id および実行ユーザ id を 設定します。 利用できる環境: Unix

`setregid`( | rgid, egid)

  現在のプロセスに対して実際のグループ id および実行ユーザ id を 設定します。 利用できる環境: Unix

`getsid`( | pid)

  システムコール `getsid()` を呼び出します。機能については Unix マニュアルを参照してください。 利用できる環境: Unix。 バージョン 2.4 で 新たに追加 された仕様です。

`setsid`( | )

  システムコール `setsid()` を呼び出します。機能については Unix マニュアルを参照してください。 利用できる環境: Unix

`setuid`( | uid)

  現在のプロセスのユーザ id を設定します。 利用できる環境: Unix

`strerror`( | code)

  エラーコード code に対応するエラーメッセージを返します。 利用できる環境: Unix、Windows

`umask`( | mask)

  現在の数値 umask を設定し、以前の umask 値を返します。 利用できる環境: Unix、Windows

`uname`( | )

  現在のオペレーティングシステムを特定する情報の入った 5 要素のタプル を返します。このタプルには 5 つの文字列: `(sysname, nodename, release, version, machine)` が入っています。 システムによっては、ノード名を 8 文字、または先頭の要素だけに 切り詰めます; ホスト名を取得する方法としては、 `socket.gethostname()` を使う方がよいでしょう、あるいは `socket.gethostbyaddr(socket.gethostname())` でもかまいません。 利用できる環境: Unix互換環境

`unsetenv`( | varname)

  varname という名前の環境変数を取り消します。 このような環境の変化は `os.system()`、 `popen()` または `fork()` と `execv()` で開始されるサブプロセスに影響を与えます。 利用できる環境: ほとんどの Unix互換環境、Windows

  `unsetenv()` がサポートされている時には `os.environ` のアイテムの 削除が対応する `unsetenv()` の呼び出しに自動的に翻訳されます。しかし、 `unsetenv()` の呼び出しは `os.environ` を更新しませんので、 むしろ `os.environ` のアイテムを削除する方が好ましい方法です。