백그라운드 프로세스에서 실행 한 프로세스 (터미널 유형을 읽고 씁니다)가 있습니다. 나는 ps를 사용하여 그것을 볼 수있다. 포 그라운드로 가져 시도, 이것은 내가 시도한 : 그것은 비록 작동하지 않습니다프로세스를 포 그라운드로 가져 오기
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;
}
. 누군가 나를 도와 줄 수 있습니까? 감사합니다. .
하지만 임베디드 리눅스 머신에서이 작업을하고 있는데, 여기에는 busybox 바이너리 만 있고 fg, bg 또는 작업을 사용할 수 없습니다. 그러면 어떻게해야합니까? – Bornfree
위의 코드를 컴파일하면 완료됩니다. – vulkanino