国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請(qǐng)問(wèn)源碼中work.php中resetstd()方法的具體用途?

zhaocong
public static function resetStd()
    {
        if (!static::$daemonize || static::$_OS !== 'linux') {
            return;
        }
        global $STDOUT, $STDERR;
        $handle = fopen(static::$stdoutFile, "a");
        if ($handle) {
            unset($handle);
            //關(guān)閉標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤
            @fclose(STDOUT);
            @fclose(STDERR);
            //a 寫(xiě)入方式打開(kāi),將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。
            //把標(biāo)準(zhǔn)輸出和錯(cuò)誤 定位到 /dev/null
            $STDOUT = fopen(static::$stdoutFile, "a");
            $STDERR = fopen(static::$stdoutFile, "a");
        } else {
            throw new Exception('can not open stdoutFile ' . static::$stdoutFile);
        }
    }

不是太理解這段操作的意義在于什么?

3438 4 0
4個(gè)回答

zhaocong

意思是把標(biāo)準(zhǔn)錯(cuò)誤流 (stdout) 、標(biāo)準(zhǔn)錯(cuò)誤流(stderr)重定向到設(shè)備/dev/null上。

/dev/null 是類(lèi)Unix系統(tǒng)中的一個(gè)特殊文件設(shè)備,他的作用是接受一切輸入它的數(shù)據(jù)并丟棄這些數(shù)據(jù)。通常被當(dāng)做垃圾桶來(lái)用。

將輸出流重定向到它上面,就是丟棄這個(gè)輸出流上的所有輸出。

  • 暫無(wú)評(píng)論
maq

要點(diǎn)在于“重新打開(kāi)”標(biāo)準(zhǔn)輸出設(shè)備,可能的應(yīng)用場(chǎng)景是 log rotate。

至于是不是 /dev/null,并不取決于這段代碼,而是看 $stdoutFile 的設(shè)置。(不要看那句注釋?zhuān)鞘钦`導(dǎo))

  • zhaocong 2018-04-19

    恩,我的理解是,有利于后臺(tái)運(yùn)行腳本直接輸出并被記錄到相關(guān)的文件中,跟蹤程序。這樣理解沒(méi)問(wèn)題把?

zhaocong

還有一點(diǎn),不太理解的是,定義的onMessage 為什么會(huì)執(zhí)行2次,這是個(gè)什么原理?
操作就是: 開(kāi)啟workerman服務(wù)后,刷新瀏覽器。
具體代碼:

$http_worker = new Worker("http://0.0.0.0:2345");
$http_worker->count = 3;
$http_worker->onMessage = function($connection, $data)
{
    echo "xx\n";
    $connection->send('hello world');
};
  • maq 2018-04-19

    瀏覽器會(huì)請(qǐng)求 favicon.ico

  • zhaocong 2018-04-19

    好吧,我忽略了這點(diǎn),大神謝謝你的回復(fù)。

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??