They’ll run at the same time. The standard practice around this is to create a file lock (commonly referred to as a flock), and if the lock isn’t available, don’t run.
The advantages to this over Zdenek’s approach is that it doesn’t require a database, and when the process ends, the flock is automatically released. This includes cases where the the process is killed, server rebooted, etc.
While you don’t mention what your cron job is written in, flock is standard in most languages. I’d suggest googling for locks and the language you’re using, as this will be the more robust solution, and not relying upon random timeouts. Here are some examples from SO:
- Shell script
- Python
- PHP
- Perl