crond keeps filedescriptors even when it forks to background: root 541 1 0 08:15 ? 00:00:00 crond ls -la /proc/541/fd lrwx------ 1 root root 64 Sep 3 14:12 0 -> /dev/console l-wx------ 1 root root 64 Sep 3 14:12 1 -> pipe:[643] l-wx------ 1 root root 64 Sep 3 14:12 2 -> pipe:[644] l-wx------ 1 root root 64 Sep 3 14:12 21 -> /dev/null lrwx------ 1 root root 64 Sep 3 14:12 3 -> /var/run/crond.pid l-wx------ 1 root root 64 Sep 3 14:12 4 -> /var/log/cron lr-x------ 1 root root 64 Sep 3 14:12 7 -> pipe:[645] l-wx------ 1 root root 64 Sep 3 14:12 8 -> pipe:[645] Because crond keeps fd to /dev/console (or with ssh connection /dev/pts/x) restarting crond leaves stuck sshd connection. I think that vixie-cron from Openwall has this problem fixed: http://www.openwall.com/Owl ...
This bug is still seen in rh72, rh73, rh8 and rh9.
Reproduced.
Updating the init script to call crond like so: daemon crond < /dev/null appears to workaround the problem. Not sure yet if it causes any other problems. You can also call "/sbin/service crond restart < /dev/null" through an ssh and crond will happily restart and your ssh session will close. Again, not sure if that's good or bad.
This should be fixed in vixie-cron-3.0.1-94 in rawhide shortly.
Just clearing out old bugs here. This was fixed in vixie-cron-3.0.1-94. Latest version: vixie-cron-4.1-10