Wie ruft man ein Programm auf und verlässt die Shell (den Anrufer), wenn das Programm aktiv ist?

Wie ruft man ein Programm auf und verlässt die Shell (den Anrufer), wenn das Programm aktiv ist?

konsoleIch möchte ein Programm mit GUI ausführen, indem ich : eingebe foo args …und die Shell (das ist der Anrufer) beende, wenn das Programm ( foo) aktiv ist.

Wie mache ich das? Gibt es einen integrierten Befehl/ein integriertes Programm in Linux/Unix, um das zu tun? Ich bin eigentlich kein Shell-Mann. Ich weiß, dass es möglich ist, indem man ein kleines Programm in C oder C++ (jede andere Programmiersprache mit kleiner E/A-Schnittstelle unter POSIX) mit der fork()und einer der exec*()Funktionsfamilien schreibt. Es kann einige Zeit dauern; ich werde es nur tun, wenn es keine native Lösung gibt.

Entschuldigen Sie mein schlechtes Englisch; es ist nicht meine Muttersprache. Außerdem bin ich mir bei den Tags nicht sicher. Wenn ich falsch liege, bearbeiten Sie es bitte für mich.

Falls es wichtig ist, ich verwende OpenSUSE 10.x.

Antwort1

nohup foo args &

Trennt den Befehl von der Shell. Dann können Sie beenden. Wenn fooeine Ausgabe erzeugt wird, wird sie in „nohup.out“ im aktuellen Verzeichnis abgelegt.

verwandte Informationen