Untergeordnete Prozesse bleiben nach dem Beenden des Bildschirms erhalten

Untergeordnete Prozesse bleiben nach dem Beenden des Bildschirms erhalten

Ich sehe ein seltsames Bildschirmverhalten unter OSX. Wenn ich den Bildschirm beende, werden untergeordnete Prozesse nicht beendet.

$ screen
$ tail -f (or some long running process inside screen)

Dann lösche ich das aktuelle Bildschirmfenster mit ^a koder beende den Bildschirm vollständig mit ^a ^\und es scheint, als sei alles gut gegangen:

$ [screen is terminating]

tail -fLäuft jedoch immer noch (mit einer PPID von 1). Warum ist es verwaist und nicht beendet? Gibt es eine Einstellung/ein Flag, das dieses Verhalten ändert? Ich habe dies unter Ubuntu versucht und der Bildschirm verhält sich wie erwartet.

Danke!

Antwort1

Ich habe gesehen, dass der Prozess eines Pseudoterminals so lange bestehen bleibt, bis er eine Eingabe erhält. Um diesen Fall zu testen, pssenden Sie, nachdem Sie den verbleibenden Prozess in der Liste gesehen haben, eine wallund eine kurze Nachricht. Der Prozess sollte dann verschwinden.

verwandte Informationen