Question: I am using a crontab that executes a PHP file. I want to implement the flock() command to help prevent duplicate crontabs from running at one time. If I have:

`* * * * * php /var/www/html/welcome.php`

How can i add this flock() command? Thanks!

Answer: 
Try this:

```
$fh = fopen('mutex.txt','r');  // Any convenient file (MUTual EXclusion)
flock($fh, LOCK_EX);       // get exclusive lock. Will block until lock is acquired

// Do your exclusive stuff...

flock($fh, LOCK_UN);      // release lock
fclose($fh);              // close Mutex file.

```
For complete your answer and as you use a crontab every minute, you may encounter a problem :

If for any reason, your script lack to finish in 1 minute his job or the script fail somewhere and does not remove the lock (stuck inside a 'while'...), the next crontab will start and stay in your process list until the previous remove his lock, and so on...

A better approach would be :

```
$fh = fopen('/path/to/mutex.txt', 'r');  //Any convenient file (MUTual EXclusion)

  if(!flock($fh, LOCK_EX | LOCK_NB)) //Exit if lock still active
   exit(-1);

   //Your code here

  flock($fh, LOCK_UN);      //release lock
  fclose($fh);              //close Mutex file.

```

And that will avoid any stack of process php