Ich schreibe / debugge eine Shell, in C, die läuftEine while (1) -Schleife, und jedes Mal, wenn ich die Shell verlasse, schließt sie das Terminal mit exit (), mit dem ich die ausführbare Datei ausführte, sodass ich ständig ein anderes Terminal öffnen und zurück zum Verzeichnis meines Arbeitsbereichs in um weiter zu arbeiten. Ich dachte, das wäre ein guter Grund, zu erfahren, wie ich in meinem aktuellen Arbeitsverzeichnis einen anderen Terminal-Prozess öffnen könnte.
PS. Ich kenne eine bessere Lösung, um der Effizienz willen würde ich lernen, wie ich meine ausführbare Datei beenden kann, ohne mein Terminal zu schließen, aber das ist nicht das, wonach ich frage.
Antworten:
2 für die Antwort № 1In der Bash Shell, führe aus bash
Öffnen einer Subshell vor dem Ausführen der ausführbaren Datei. Id est, lauf bash
als der Befehl, den Sie vor Ihrer ausführbaren Datei ausführen. Wenn Ihre ausführbare Datei sich selbst beendet und die Shell beendet wird, wird nur die Subshell beendet.
bash -c name_of_your_executable
Wie Sie in Ihrer Frage erwähnen, ist die bessere Lösung, Ihre ausführbare Datei zu beenden, ohne die Shell ebenfalls zu beenden.