亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
關(guān)于后臺(tái)進(jìn)程讀控制終端產(chǎn)生信號(hào)
[打印本頁(yè)]
作者:
xsp707000646
時(shí)間:
2014-12-04 11:45
標(biāo)題:
關(guān)于后臺(tái)進(jìn)程讀控制終端產(chǎn)生信號(hào)
我用setsid后,然后去讀寫(xiě)前面打開(kāi)的控制終端,apue里面講后臺(tái)進(jìn)程讀控制終端會(huì)產(chǎn)生SIGTTIN信號(hào),但是我這下面sig_ttin函數(shù)一直沒(méi)有執(zhí)行,后來(lái)我把read換成write發(fā)現(xiàn)也沒(méi)有產(chǎn)生SIGTTOU信號(hào),不明白。誰(shuí)能詳細(xì)講講控制終端。
#include<fcntl.h>
#include<stdio.h>
#include<unistd.h>
#include<signal.h>
#include<stdlib.h>
static void sig_ttin(int no)
{
printf("sig_ttin\n");
}
int main()
{
pid_t pid;
if ((pid = fork()) < 0){
perror("fork");
exit(1);
} else if (0 == pid) {// child
int result = open("/dev/pts/0", O_RDWR);
if (result != -1)
printf("open success!\n");
setsid();
printf("pid:%d, ppid:%d, gpid:%d, sid:%d\n", getpid(), getppid(), getpgrp(), getsid(0));
signal(SIGTTIN, sig_ttin);
char c;
if (read(result, &c, 1) < 0)
perror("read");
close(result);
result = open("/dev/pts/0", O_RDWR);
if (result < 0)
printf("can't open tty\n");
}
exit(0);
}
作者:
Gnixfeng
時(shí)間:
2014-12-05 15:04
不知道會(huì)不會(huì)產(chǎn)生信號(hào),你可以把signal放到read后試試
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2