Friendica Communications Platform
(please note that this is a clone of the repository at github, issues are handled there)
https://friendi.ca
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
588 B
32 lines
588 B
<?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; |
|
} |
|
} |
|
?>
|
|
|