亚洲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