/ / Wie dupliziere ich eine Instanz von bash - linux, bash, shell, ubuntu, fork

Wie dupliziere ich eine Instanz von bash - linux, bash, shell, ubuntu, fork

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 № 1

In 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.