execlp
명령으로 파이어 폭스를 실행해야하는 C 응용 프로그램을 만들고 있는데, 실행할 때마다 현재 터미널이 "손실"되었지만, execlp
을 사용해야합니다. 내가 전에 있었던 터미널, 그래서 내 질문은 : 거기에 하나의 터미널에 execlp
전화를 할 수있는 방법이며 블록 하나없이 다른 하나에서 실행됩니까? 여기 Execlp가 다른 터미널에서 실행됩니다.
pid_t child = fork();
if (child == -1) {
perror("fork error");
} else if (child == 0) {
exec_pid = getpid();
execlp("firefox", "firefox", URL, NULL);
perror("exec error");
}
// keep with program logic
"현재 터미널을 잃어 버렸다"는 것이 정확히 무엇을 의미합니까? 그냥 초점이 맞지 않는다는 것을 의미합니까? – rici
http://stackoverflow.com/questions/11807688/how-to-detach-a-process-from-terminal-in-unix – stark
같은 터미널을 계속 사용하려면 exec를 실행 한 후에 아무 키나 누르십시오. 또는 내 프로그램을 죽여라. 그래서 내가 터미널을 잃었다 고 말했을 때 나는 그것을 의미했다. –