diff options
author | zottel <github@zottel.net> | 2012-04-08 21:50:41 +0200 |
---|---|---|
committer | zottel <github@zottel.net> | 2012-04-08 21:50:41 +0200 |
commit | 315d496290747aab8b3147dc24b822460071bb2d (patch) | |
tree | 4d3cd849580d7ba3b8c30667bbb6f0901dc7d738 /include/pidfile.php | |
parent | aaf5a81365b4cbcb3d1b9537b5544aeb5de66f4b (diff) | |
parent | 5c0446975516f2b52b6cf51618e0b75af56de71b (diff) | |
download | volse-hubzilla-315d496290747aab8b3147dc24b822460071bb2d.tar.gz volse-hubzilla-315d496290747aab8b3147dc24b822460071bb2d.tar.bz2 volse-hubzilla-315d496290747aab8b3147dc24b822460071bb2d.zip |
Merge remote branch 'upstream/master'
Diffstat (limited to 'include/pidfile.php')
-rw-r--r-- | include/pidfile.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/pidfile.php b/include/pidfile.php new file mode 100644 index 000000000..47df8d1f4 --- /dev/null +++ b/include/pidfile.php @@ -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; + } +} +?> |