19、Unix 进程管理与调度全解析

Unix 进程管理与调度全解析

1. 进程组系统调用

在 Unix 系统中,进程组管理是重要的一部分。 setpgid() 函数用于设置由 pid 标识的进程的进程组 ID 为 pgid ,其函数原型如下:

#define _XOPEN_SOURCE 500 
#include <unistd.h> 

int setpgid (pid_t pid, pid_t pgid);
  • pid 参数为 0 时,使用当前进程。
  • pgid 为 0,则使用由 pid 标识的进程的进程 ID 作为进程组 ID。

调用成功时, setpgid() 返回 0,但成功需要满足以下条件:
- 由 pid 标识的进程必须是调用进程,或者是调用进程的子进程,且该子进程未执行 exec 调用,并且与调用进程处于同一会话中。
- 由 pid 标识的进程不能是会话领导者。
- 如果 pgid 已经存在,它必须与调用进程处于同一会话中。
- pgid 必须是非负的。

调用失败时,该函数返回 -1,并将 errno

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值