Можно ли поймать SIGIO, приходящее с существующего чужого терминала? Пример: #include <stdio.h> #include <fcntl.h> #include <stdlib.h> #include <signal.h> #include <errno.h> #include <sys/types.h> #include <sys/stat.h> void SigIOhandler(int sig) { printf("SIGIO received\n"); } int main() { int pfd; if ((pfd = open("/dev/pts/5", O_RDWR | O_NONBLOCK, 0666)) < 0) { perror("Open pseudo device"); exit(1); } signal(SIGIO, SigIOhandler); fcntl(pfd, F_SETFL, O_ASYNC | O_NONBLOCK); sleep(10); close(pfd); return 0; } В этом случае при вводе/выводе в /dev/pts/5, он просто закрывается и сигнала, естественно, нет.