##
6.1.1 Process Parameters

These functions and data items provide information and operate on the current process and user.

`environ`
  A mapping object representing the string environment. For example, `environ['HOME']` is the pathname of your home directory (on some platforms), and is equivalent to `getenv("HOME")` in C.

  If the platform supports the `putenv()` function, this mapping may be used to modify the environment as well as query the environment. `putenv()` will be called automatically when the mapping is modified.

  If `putenv()` is not provided, this mapping may be passed to the appropriate process-creation functions to cause child processes to use a modified environment.

`chdir` (path)
`getcwd` ()
  These functions are described in ``Files and Directories'' (section 6.1.4).

`ctermid` ()
  Return the filename corresponding to the controlling terminal of the process. Availability: Unix.

`getegid` ()
  Return the current process' effective group id. Availability: Unix.

`geteuid` ()
  Return the current process' effective user id. Availability: Unix.

`getgid` ()
  Return the current process' group id. Availability: Unix.

`getgroups` ()
  Return list of supplemental group ids associated with the current process. Availability: Unix.

`getlogin` ()
  Return the actual login name for the current process, even if there are multiple login names which map to the same user id. Availability: Unix.

`getpgrp` ()
  Return the current process group id. Availability: Unix.

`getpid` ()
  Return the current process id. Availability: Unix, Windows.

`getppid` ()
  Return the parent's process id. Availability: Unix.

`getuid` ()
  Return the current process' user id. Availability: Unix.

`putenv` (varname, value)
  Set the environment variable named varname to the string value. Such changes to the environment affect subprocesses started with `os.system()`, `popen()` or `fork()` and `execv()`. Availability: most flavors of Unix, Windows.

  When `putenv()` is supported, assignments to items in `os.environ` are automatically translated into corresponding calls to `putenv()`; however, calls to `putenv()` don't update `os.environ`, so it is actually preferable to assign to items of `os.environ`.

`setgid` (gid)
  Set the current process' group id. Availability: Unix.

`setpgrp` ()
  Calls the system call `setpgrp()` or `setpgrp(0, 0)` depending on which version is implemented (if any). See the Unix manual for the semantics. Availability: Unix.

`setpgid` (pid, pgrp)
  Calls the system call `setpgid()`. See the Unix manual for the semantics. Availability: Unix.

`setsid` ()
  Calls the system call `setsid()`. See the Unix manual for the semantics. Availability: Unix.

`setuid` (uid)
  Set the current process' user id. Availability: Unix.

`strerror` (code)
  Return the error message corresponding to the error code in code. Availability: Unix, Windows.

`umask` (mask)
  Set the current numeric umask and returns the previous umask. Availability: Unix, Windows.

`uname` ()
  Return a 5-tuple containing information identifying the current operating system. The tuple contains 5 strings: `(sysname, nodename, release, version, machine)`. Some systems truncate the nodename to 8 characters or to the leading component; a better way to get the hostname is `socket.gethostname()` or even `socket.gethostbyaddr(socket.gethostname())`. Availability: recent flavors of Unix.