Alright, Linux Kernel question: Why do we have zombie processes? I get that parents need a return value to wait() on but what can't that just be some state held by the parent task? Does some other API need those (V?)PIDs to stay global?
-
-
and any decent parent (or pid ns init daemon or subreaper) will reap zombies quickly, so the PID wastage isn't really an issue
1 reply 0 retweets 1 like -
the bigger issue is that the zombie design *only* permits the parent (or ptrace parent) to use PIDs in a race-free way; anyone else has to worry about races
1 reply 0 retweets 3 likes -
this is why referring to processes via e.g. inodes in procfs is IMO much nicer than using PIDs, and alternative APIs to e.g. kill() that can use procfs FDs would be nice
2 replies 1 retweet 18 likes -
oh wow
2 replies 0 retweets 1 like -
think about what you do when some process is hanging and you want to kill it. you look it up in "ps aux" or whatever, note the PID, then "kill -9" that PID. if you have really bad luck, the hanging process died a second ago and the PID was reused by some other important thing
3 replies 0 retweets 13 likes -
AFAIK e.g. "killall" works pretty much like that under the hood, too
1 reply 0 retweets 0 likes
it just normally works out fine in practice 
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.