Scheme 48 Manual | Contents | In Chapter: Access to POSIX
Previous: Process environment | Next: Process environment

## Process environment

These are in structures `posix-process-data` and `posix`.

### Process identification

- `(get-process-id) -> process-id`
- `(get-parent-process-id) -> process-id`

These return the process ids of the current process and its parent. See section * for operations on process ids.

- `(get-user-id) -> user-id`
- `(get-effective-user-id) -> user-id`
- `(set-user-id! user-id)`

- `(get-group-id) -> group-id`
- `(get-effective-group-id) -> group-id`
- `(set-group-id! group-id)`

Every process has both the original and effective user id and group id. The effective values may be set, but not the original ones.

- `(get-groups) -> group-ids`
- `(get-login-name) -> string`

`Get-groups` returns a list of the supplementary groups of the current process. `Get-login-name` returns a user name for the current process.

### Environment variables

- `(lookup-environment-variable string) -> string or `#f``
- `(environment-alist) -> alist`

`Lookup-environment-variable` looks up its argument in the environment list and returns the corresponding value or `#f` if there is none. `Environment-alist` returns the entire environment as a list of `(`name-string` . `value-string`)` pairs.

Previous: Process environment | Next: Process environment