#include <stdio.h>
#include <signal.h>
void sigfn(int num){
printf("sigttin");
}
int main(){
char c;
signal(SIGTTIN,sigfn);
read(0,&c,1);
printf("%c\n",c);
return 0;
}
Я не получаю бесконечный цикл при работе на переднем плане.Он делает то, что должен и блокирует, пока не будет чего читатьищи процесс и убивай его.
Вот что я сделал: В одной консоли:
$. / sim_ttin &
Тогда яоткрыл другую консоль и набрал:
$ps aux | grep sim_ttin
user 4350 6.0 0.0 1620 340 pts/0 S 22:58 0:00 ./sim_ttin
4350 - это пид.Просто убить
$ kill -9 4350
Позволяет проверить первую консоль:
insigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttinsigttins
1027 * [1] + Погиб ./sim_ttin