New script that checks if a script is running

This commit is contained in:
Michael Vogel 2012-04-01 20:56:27 +02:00
parent 4cf1e5aa21
commit 5409825fe7
1 changed files with 32 additions and 0 deletions

32
include/pidfile.php Normal file
View File

@ -0,0 +1,32 @@
<?php
class pidfile {
private $_file;
private $_running;
public function __construct($dir, $name) {
$this->_file = "$dir/$name.pid";
if (file_exists($this->_file)) {
$pid = trim(file_get_contents($this->_file));
if (posix_kill($pid, 0)) {
$this->_running = true;
}
}
if (! $this->_running) {
$pid = getmypid();
file_put_contents($this->_file, $pid);
}
}
public function __destruct() {
if ((! $this->_running) && file_exists($this->_file)) {
unlink($this->_file);
}
}
public function is_already_running() {
return $this->_running;
}
}
?>