SORU
5 EYLÜL 2008, Cuma


php bir arka plan işlemi çalıştırmak

Ben lazım çalıştırmak için bir dizin kopyala üzerine bir Kullanıcı işlemi, ama dizinler oldukça büyük, çok isterim yapabilmek böyle bir eylem olmadan kullanıcı olduğunun farkında olmak zaman alır için kağıt üzerinde.

Herhangi bir öneriniz çok takdir olurdu.

CEVAP
5 EYLÜL 2008, Cuma


Bu bir Linux makine üzerinde çalışan olduğunu varsayarsak, her zaman böyle idare ediyorum.:

exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));

Bu $outputfile $cmd komut çıktısı yönlendirir komutu başlatır ve $pidfile süreç kimliği yazar.

Bu süreç ne yaptığını kolayca izlemek ve eğer hala çalışıyorsa sağlar.

function isRunning($pid){
    try{
        $result = shell_exec(sprintf("ps %d", $pid));
        if( count(preg_split("/\n/", $result)) > 2){
            return true;
        }
    }catch(Exception $e){}

    return false;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Php

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DominicFear

    DominicFear

    30 Kasım 2006
  • mahalodotcom

    mahalodotcom

    8 HAZİRAN 2007
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009