setpgid.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 32 行

C
32
字号
#include "lib.h"#include <unistd.h>#include <stdio.h>#include <errno.h>#include "sys9.h"intsetpgid(pid_t pid, pid_t pgid){	int n, f;	char buf[50], fname[30];	if(pid == 0)		pid = getpid();	if(pgid == 0)		pgid = getpgrp();	sprintf(fname, "/proc/%d/noteid", pid);	f = open(fname, 1);	if(f < 0) {		errno = ESRCH;		return -1;	}	n = sprintf(buf, "%d", pgid);	n = write(f, buf, n);	if(n < 0)		_syserrno();	else		n = 0;	close(f);	return n;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?