Ich erstelle eine Anwendung in C, die ich das Firefox mit dem Befehl execlp
ausführen muss, aber jedes Mal, wenn ich es ausführe "verloren" ich meine aktuelle Terminal, aber nach der execlp
muss ich noch die verwenden Terminal, das ich vorher war, so ist meine Frage: Gibt es einen Weg, wo ich in einem Terminal Anruf execlp
sein kann und es in einem anderen ohne Block der eine ich bin ausgeführt?Execlp in einem anderen Terminal ausführen
hier ist ein Ausschnitt aus meinem Code:
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
Was genau meinen Sie mit "verlieren" Ihre aktuelle Terminal "? Meinst du nur, dass es unscharf wird? – rici
http://StackOverflow.com/Questions/11807688/How-to-Detach-Aprocess-from-terminal-in-Unix – stark
nachdem ich exec für mich ausführen, um das gleiche Terminal zu verwenden, muss ich entweder eine beliebige Taste drücken oder kill mein Programm, so dass ich meinte, als ich sagte, ich habe das Terminal verloren. –