konsole
Ich 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 foo
eine Ausgabe erzeugt wird, wird sie in „nohup.out“ im aktuellen Verzeichnis abgelegt.