Here are answers for one cron daemon, dillon's cron (dcron) which I'm the current developer of. There are a variety of cron daemons in distribution, and the answers are going to be different. Vixie cron is probably the most widespread; I don't know the answers for that.
Anyway, for dillon's cron, a user can have 256 significant lines in their crontab (this is configurable at compile time). Root can have many more than that (I think 65535). Plus root can have multiple crontabs (the one at /var/spool/cron/crontabs/root, plus as many additional ones as you want in /etc/cron.d/).
Cron commands are only run one once a minute, at the top of the minute. You could have 60 different commands run every minute, and just prefix them with sleep 1
, sleep 2
, and so on. But I doubt this is the best solution for what you have in mind.
Yes, in our implementation each cronjob forks into a separate process. If there's any output to stdout or stderr, yet another process is forked to mail it.
2Not sure. It's about cron's internal code and how to use in while coding. – Juanjo Conti – 2010-02-15T14:30:32.103
*/1 is the same as *. As for limits, I suspect if you're bumping up against any OS-level limits you're using it wrong. Have you considered making a daemon to run these tasks? – ceejayoz – 2010-02-15T14:58:06.920
2What cron daemon are you talking about? I'm the current developer of Dillon's cron, and I could give you an answer for that. But there's also Vixie cron, fcron, bcron, ... Vixie cron is the most widely deployed cron daemon on *nix, so if I have to guess, I guess you're talking about that. – dubiousjim – 2010-02-16T16:41:42.440