aboutsummaryrefslogtreecommitdiffstats
path: root/include/pidfile.php
diff options
context:
space:
mode:
authorMichael <icarus@dabo.de>2012-04-11 18:47:21 +0200
committerMichael <icarus@dabo.de>2012-04-11 18:47:21 +0200
commitc3139fa0fd49b0b4de4568d46a6946c75ccb2a62 (patch)
treea46d809d2e11fefba938717d38b1371572e4d815 /include/pidfile.php
parent81a8d4f9dbd32de133e647c87a5394dd52f009fe (diff)
parentfe257a20324fe68838e5829e19d18777045a41b4 (diff)
downloadvolse-hubzilla-c3139fa0fd49b0b4de4568d46a6946c75ccb2a62.tar.gz
volse-hubzilla-c3139fa0fd49b0b4de4568d46a6946c75ccb2a62.tar.bz2
volse-hubzilla-c3139fa0fd49b0b4de4568d46a6946c75ccb2a62.zip
Merge branch 'master' of github.com:annando/friendica
Diffstat (limited to 'include/pidfile.php')
-rw-r--r--include/pidfile.php32
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;
+ }
+}
+?>