Bu i bir süre için merak ve bu konuda sormak karar verdik şeydir.
Biz mevcut komut işlem kimliği dönecektir fonksiyon getmypid () var. Fonksiyonunun bir tür gibi var mı
php checkifpidexists (?) Ben bir dahili bir değil, bazı toplu iş komut dosyası çözümü anlamına gelir.
Ve bir komut pid değiştirmek için bir yolu var mı?
Bazı açıklama:
Ben bu yüzden, tekrar çalıştırmak sahte cron işi Yüklü bir pid komut zaten çalışıyorsa görmek için olup olmadığını kontrol etmek istiyorsanız eğer olacaktır.
I pid değiştirmek istedim nedeni yüzden ben bu yüzden sadece 1 örnek aday olacağını pid yüzden bu script sadece o üzerinde çalıştırabilirsiniz böyle 60000 ve değer sabit kod gibi gerçekten yüksek bir şey için komut pid ayarlayabilirsiniz olduğunu
EDIT ----
Bu proplem ile başkasının yardımcı olmak için, ben bu sınıfı oluşturduk:
class instance {
private $lock_file = '';
private $is_running = false;
public function __construct($id = __FILE__) {
$id = md5($id);
$this->lock_file = sys_get_temp_dir() . $id;
if (file_exists($this->lock_file)) {
$this->is_running = true;
} else {
$file = fopen($this->lock_file, 'w');
fclose($file);
}
}
public function __destruct() {
if (file_exists($this->lock_file) && !$this->is_running) {
unlink($this->lock_file);
}
}
public function is_running() {
return $this->is_running;
}
}
ve bunu gibi kullanabilirsiniz:
$instance = new instance('abcd'); // the argument is optional as it defaults to __FILE__
if ($instance->is_running()) {
echo 'file already running';
} else {
echo 'file not running';
}