We seem to have a lot of zombie processes on our Linux server, e.g.:
user_id 26008 21801 0 13:37 ? 00:00:00 [date] <defunct>
Most of them seem to be a result of:
Temp$=""; open (hfn)"<date"; read (lfo,err=*proceed)Temp$; close (lfo)When the user logs out, then yes, the zombie disappears, but until then, it just hangs around, getting its time updated whenever that date call is processed. According to some online comments, these hang around "because their parent has not destroyed them properly." Also, "On Unix and Unix-like computer operating systems, a zombie process or defunct process is a process that has completed execution but still has an entry in the process table. This entry is still needed to allow the parent process to read its child's exit status."
Is there anything we need to do to ensure these will disappear promptly, or do we simply have to wait for the user to log out?