У меня есть процесс (который читает и пишет в тип терминала), который был выполнен фоновым процессом. Я могу видеть это, используя пс.
Пытаясь вывести его на передний план, я попытался:
int main()
{
FILE* fd = popen("pidof my_program","r");
// ...
// Some code to get the pid of my_program as mpid
//...
printf("pid of my_program is %d",mpid);
signal(SIGTTOU, SIG_IGN);
setpgid(mpid,0); // Set program group id to pid of process
tcsetpgrp(0,mpid); // Give it terminal stdin access
tcsetpgrp(1,mpid); // Give it terminal stdout access
return 0;
}
Это не работает, хотя. Может ли кто-нибудь помочь мне в этом?
Спасибо.