ConFoo Montreal 2026: Call for Papers

Voting

: seven plus zero?
(Example: nine)

The Note You're Voting On

Erickson Reyes ercbluemonday at yahoo dot com
15 years ago
We also had this challenge in our company to prevent a php script in a cron job from overlapping each other.

We made this solution

<?php
// Initialize variables
$found = 0;
$file = basename(__FILE__);
$commands = array();

// Get running processes.
exec("ps w", $commands);

// If processes are found
if (count($commands) > 0) {

foreach (
$commands as $command) {
if (
strpos($command, $file) === false) {
// Do nothin'
}
else {
// Let's count how many times the file is found.
$found++;
}
}
}

// If the instance of the file is found more than once.
if ($found > 1) {
echo
"Another process is running.\n";
die();
}

/**
*
* Regular process here...
*
*/
?>

<< Back to user notes page

To Top