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

workerman 啟動報錯,already running 。

peter沒有潘

workerman 啟動報錯,already running 。按照手冊 killall php , ps aux|grep WorkerMan|awk '{print $2}'|xargs kill -9,顯示沒有那個進(jìn)程,在測試服務(wù)器上可以跑起來,上正式服務(wù)器就顯示已經(jīng)在運行??凑搲行┡笥颜f是之前運行腳本執(zhí)行過就會有成功記錄,不知道是不是跟這個相關(guān)

10627 6 0
6個回答

six

ps auxf 看下workerman進(jìn)程在不在

walkor 打賞

找到workerman的pid文件刪掉。pid默認(rèn)位置與workerman源碼目錄的上一層目錄。

  • peter沒有潘 2019-11-04

    問題就是沒有發(fā)現(xiàn)生成了workerman.pid這個文件

walkor 打賞

那就設(shè)置下pid存儲位置,比如

...
Worker::$pidFile='/your/path/wm.pid';
Worker::runAll();

注意不要放到/tmp目錄下
然后啟動。

  • peter沒有潘 2019-11-04

    在regiset 里面指定了 pidFile。 啟動的時候還是顯示already running ,并且pid文件也沒有生成,指定的目錄也有寫入權(quán)限

  • peter沒有潘 2019-11-05

    嘗試了一下吧worker源碼里面lock函數(shù)的,邏輯改一下。$_startFile句柄不存或則有加鎖,workerman可以跑起來。

  • walkor 2019-11-05

    你們有什么特殊的用法么?$_startFile怎么會不存在呢

  • peter沒有潘 2019-11-05

    @1:沒有吧 gateway的例子基礎(chǔ)之上改的

  • peter沒有潘 2019-11-05

    @1:protected static function lock()
    {
    $fd = \fopen(static::$_startFile, 'r');
    if (!$fd || !flock($fd, LOCK_EX)) {
    static::log("Workerman[".static::$_startFile."] already running");
    exit;
    }
    }
    這里的flock判斷為true

a392223903

嘗試 killall -9 php

lxy

我之前不小心把正在運行的程序刪除了,用同個端口號重新寫個程序,啟動時和你的錯誤一樣,我最后的辦法是新建一個被刪除文件同名的程序,程序中使用的端口號和之前一致,然后使用php xxx.php stop

  • 暫無評論
alex343136121

我也遇到這個問題了。
一開始下載了Workerman,并按照demo隨便寫了一個start.php,運行后顯示already running。
后來刪除了上述的workerman項目和log,又去下了個Gateway,直接運行start.php,也只顯示以下一句話:

Workerman[/var/www/html/GatewayWorker/start.php] already running

而且此時使用ps aux|grep WorkerMan之類的操作時根本找不到進(jìn)程。因此也不知道是根據(jù)什么判定的。

和樓上某位老哥一樣,將Worker::lock()方法直接返回true就能正常運行了。
換臺服務(wù)器也是完全可行的。就是不知道還有哪里有問題。。

  • alex343136121 2019-12-07

    上述問題發(fā)生在vagrant-virtualBox虛擬機(jī)的nfs模式共享文件夾中。改為virtualbox共享方式就不會報了。
    至于原因尚未弄清。

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