I'm seeing some strange screen behavior on OSX. When I quit screen, child processes are not killed.
$ screen
$ tail -f (or some long running process inside screen)
Then, I kill the current screen window with ^a k
or terminate screen entirely with ^a ^\
and it appears everything went well:
$ [screen is terminating]
However, tail -f
is still running (with a PPID of 1). Why is it orphaned instead of killed? Is there a setting/flag that alters this behavior? I've tried this under Ubuntu and screen behaves as expected.
Thanks!
tail
become a zombie or something like that? Theoretically once you close the screen, its tty dies andtail
will loose its stdio and just die. If it hasn't died, it might be waiting for some kernel space stuff to be cleared.tail
doesn't go away. I don't think they're zombies, because I can kill them fine (and they are still running with a parent PID of 1).tmux
, which does not have this issue.