【发布时间】:2014-12-17 10:29:42
【问题描述】:
为什么组长无法创建会话。但是,除了能够创建会话的组长之外?
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
main() {
int pid;
int ppid=getppid();
if ( setsid() < 0)
perror("ERROR");
if((pid=fork()) == 0)
{
printf("proces1=%d %d\n",getpid(),getpgrp());
int s=getpgrp();
//setpgid(pid,pid);
if (setpgid(pid,0) < 0)
perror("ERROR");
printf("group after proces=%d %d\n",getpid(),getpgrp());
exit(0);
}
wait(0);
printf("group after proces=%d %d\n",getpid(),getpgrp());
}
请解释一下。
【问题讨论】:
-
请缩进您的代码。
-
你的程序格式不正确,因为你没有正确定义
main。 -
请为组长和普通用户添加输出? ByB 组长是什么意思——超级用户/admin?
-
@MuruganV-userm 如果进程和组 id 相同,则称为进程的组长
标签: c linux unix process job-control