Ich habe aus dem Buch Modern Operating Systems gelesen , dass die Shell beim Ausführen eines Befehls einen untergeordneten Prozess erstellt, darauf wartet, bis das untergeordnete Element die Ausführung abgeschlossen hat, und dann auf einen anderen Befehl vom Benutzer wartet. Dies ist in der Tat bei vielen Programmen wie z gedit
. Das Terminal nimmt keine Befehle an, bis ich geschlossen habe gedit
. Wenn ich jedoch den Atomcode -Editor öffne , kehrt die Shell sofort zurück und ist bereit, den nächsten Befehl zu akzeptieren, auch wenn der Editor ausgeführt wird. Durch Schließen des Terminals wird atom nicht geschlossen. Bedeutet dies, dass der Editor nicht als untergeordneter Prozess geöffnet wurde? Was ist der zugrunde liegende Mechanismus, der dies ermöglicht?
Laufen ps au | grep atom
gibt
<username> 8042 0.0 0.0 15944 2264 pts/1 S+ 00:55 0:00 grep --color=auto atom
ps au | grep atom
im Terminal die Ausgabe Ihrer Frage hinzufügen?