Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exec(2)

exit(2)

fork(2)

getpid(2)

kill(2)

setpgid(2)

signal(2)

termio(7)

setsid(2)

NAME

setsid, setpgrp − create session and set process group ID

SYNOPSIS

#include <unistd.h>

pid_t setsid(void);

pid_t setpgrp(void);

DESCRIPTION

If the calling process is not a process group leader, setsid() or setprgp() creates a new session.  The calling process becomes the session leader of this new session, becomes the process group leader of a new process group, and has no controlling terminal.  The process group ID of the calling process is set equal to the process ID of the calling process.  The calling process is the only process in the new process group, and the only process in the new session. 

setprgp() is provided for backward compatibility only. 

RETURN VALUE

setprgp() returns the value of the process group ID of the calling process. 

Upon successful completion, setsid() returns the value of the new process group ID of the calling process.  Otherwise, a value of −1 is returned, and errno is set to indicate the error. 

ERRORS

No change occurs if any of the following conditions are encountered.  In addition, setsid() fails when any of the following conditions occur:

[EPERM] The calling process is already a process group leader. 

[EPERM] The process group ID of a process other than the calling process matches the process ID of the calling process. 

AUTHOR

setprgp() and setsid() were developed by HP and AT&T. 

SEE ALSO

exec(2), exit(2), fork(2), getpid(2), kill(2), setpgid(2), signal(2), termio(7). 

STANDARDS CONFORMANCE

setsid(): AES, XPG3, XPG4, FIPS 151-2, POSIX.1

setpgrp(): SVID2, XPG2

Hewlett-Packard Company  —  HP-UX Release 9.0: August 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026