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

  • guau . .

    guau . .

    25 Ocak 2008
  • Just So

    Just So

    3 HAZİRAN 2007
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006