sys_setpgid  [kernel/sys.c]


Sets the process group ID of the specified process.

Arguments

eax 57
ebx Process ID whose PID will be changed. If ebx is 0 the process ID of the current process is used.
ecx New process ID.

Return values

If the system call succeeds the return value is 0.
If the system call fails the return value is one of the following errno values:

-EACCES An attempt was made to change the process group ID of one of the children of the calling process and the child had already performed an sys_execve.
-EINVAL ecx is less than 0.
-EPERM An attempt was made to move a process into a process group in a different session, or to change the process group ID of one of the children of the calling process and the child was in a different session, or to change the process group ID of a session leader.
-ESRCH ebx is not the current process and not a child of the current process.

Remarks

A child created via sys_fork inherits its parent's process group ID. The process group ID is preserved across an sys_execve.

Compatibility

n/a