会话,进程组,作业控制

#include<unistd.h>
//获取一个进程的进程组
pid_t getpgrp(void);

//将进程id为pid的进程的进程组id修改为pgid
//如果将pid设置为0,那么调用进程的进程组id就会改变,如果将pgid的设为0,那么id为pid的进程的进程组id会被设置为pid的值
int setpgid(pid_t pid,pid_t pgid)

//返回pid制定的进程的会话id,如果pid为0,返回调用进程的会话id
pid_t getsid(pid_t pid);

//如果调用进程不是进程组首进程,那么setsid()会创建一个新会话
pid_t setsid(void);

//返回表示控制终端的路径名
char *ctermid(char *ttyname);

//获取和修改一个终端的进程组
pid_t tcgetpgrp(int fd);
int tcsetpgrp(inf fd,pid_t pgid);

jobs 列出所有后台作业,用%num引用作业
fg %1   把作业号为1的作业移动到前台
bg %1   把作业号为1的作业移动到后台
ctl+z   SIGTSTP挂起
ctl+c   SIGINT
ctl+\   SIGQUIT
fg/bg   SIGCONT
SIGTTIN 终端读
SIGTTOU 终端写
SIGSTOP kill


posted on 2017-10-25 18:06  标配的小号  阅读(109)  评论(0编辑  收藏  举报

导航