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

問(wèn)下為啥我用pm2啟動(dòng)Workerman的Gateway啟動(dòng)失?。?

zxcv

問(wèn)題描述

這里詳細(xì)描述問(wèn)題
情況是這樣的,我的服務(wù)器系統(tǒng)是windows10.然后我想能讓程序能后臺(tái)運(yùn)行,不要出現(xiàn)命令行窗口,我試著下載Gateway的demo,然后點(diǎn)擊start_for_win.bat, 這時(shí)候是可以使用的,但是會(huì)出現(xiàn)一個(gè)命令行窗口,當(dāng)我關(guān)閉命令行窗口時(shí)候就不能使用了。

后面我將gateway放到laravel框架里面。然后執(zhí)行l(wèi)aravel里面的command命令,發(fā)現(xiàn)還是會(huì)有一個(gè)cmd命令行。

后面我想通過(guò)PM2來(lái)管理進(jìn)程,讓進(jìn)程能自動(dòng)重啟,啟動(dòng)不起來(lái)

我想問(wèn)的是如何能不要出現(xiàn)cmd命令行的后臺(tái)運(yùn)行,主要是我擔(dān)心服務(wù)器上后期會(huì)將命令行窗口關(guān)掉

程序代碼

laravel框架里面的Gateway代碼

"workerman/gateway-worker": "^3.1",
"workerman/gatewayclient": "^3.0",
"workerman/workerman": "^4.1"
```php
<?php

namespace App\Console\Commands;

use App\Http\Controllers\IndexController;
use GatewayWorker\BusinessWorker;
use GatewayWorker\Gateway;
use GatewayWorker\Register;
use Illuminate\Console\Command;
use Workerman\Worker;

class WorkermanCommand extends Command
{

    protected $description = 'Start a Workerman server.';

    protected $signature = 'workerman
                            {action : action}
                            {--start=all : start}
                            {--d : daemon mode}';
    public function handle() {
        global $argv;
        $action = $this->argument('action');
        /**
         * 針對(duì) Windows 一次執(zhí)行,無(wú)法注冊(cè)多個(gè)協(xié)議的特殊處理
         */
        if ($action === 'single') {
            $start = $this->option('start');
            if ($start === 'register') {
                $this->startRegister();
            } elseif ($start === 'gateway') {
                $this->startGateWay();
            } elseif ($start === 'worker') {
                $this->startBusinessWorker();
            }
            Worker::runAll();

            return;
        }
        /**
         * argv[0] 默認(rèn)是,當(dāng)前文件,可以不修改
         */
        //$argv[0] = 'wk';
        $argv[1] = $action;
        // 控制是否進(jìn)入 daemon 模式
        $argv[2] = $this->option('d') ? '-d' : '';
        $this->start();
    }
    private function start()
    {
        $this->startGateWay();
        $this->startBusinessWorker();
        $this->startRegister();
        Worker::runAll();
    }
    private function startBusinessWorker()
    {
        $worker                  = new BusinessWorker();
        $worker->name            = 'BusinessWorker';
        $worker->count           = 3;
        $worker->registerAddress = '127.0.0.1:1236';
        $worker->eventHandler    = IndexController::class;
    }
    private function startGateWay()
    {
        $gateway = new Gateway("websocket://0.0.0.0:2346");
        $gateway->name                 = 'Gateway';
        $gateway->count                = 2;
        $gateway->lanIp                = '127.0.0.1';
        $gateway->startPort            = 2300;
        $gateway->pingInterval         = 300;
        $gateway->pingNotResponseLimit = 0;
        $gateway->pingData             = '{"type":"ping"}';
        $gateway->registerAddress      = '127.0.0.1:1236';
    }
    private function startRegister()
    {
        new Register('text://0.0.0.0:1236');
    }
}
然后設(shè)置 start_for_win.bat
start /b php artisan workerman single --start=register
start /b php artisan workerman single --start=gateway
start /b php artisan workerman single --start=worker

然后我pm2 start start_for_win.bat
結(jié)果就是error了
 id │ name      │ namespace   │ version │ mode    │ pid      │ uptime │ ?    │ status    │ cpu      │ mem      │ user     │ watching │
├────┼───────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0  │ worker    │ default     │ N/A     │ cluster │ 1732     │ 0      │ 1    │ stopped   │ 0%       │ 0b       │ test     │ disabled

#### 報(bào)錯(cuò)信息

PM2 啟動(dòng)時(shí)候報(bào)錯(cuò)了

start_for_win.bat
start /b php artisan workerman single --start=register
start /b php artisan workerman single --start=gateway
start /b php artisan workerman single --start=worker

然后我pm2 start start_for_win.bat

id │ name │ namespace │ version │ mode │ pid │ uptime │ ? │ status │ cpu │ mem │ user │ watching │
├────┼───────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ worker │ default │ N/A │ cluster │ 1732 │ 0 │ 1 │ stopped │ 0% │ 0b │ yegm │ disabled



#### 操作系統(tǒng)及workerman/webman等框架組件具體版本

windows10
724 1 0
1個(gè)回答

nitron
pm2 start some.bat --interpreter none

來(lái)自PM2的GH Issue

  • nitron 2024-03-15

    多提一句,正經(jīng)生產(chǎn)服務(wù)器就不要用Windows了

  • zxcv 2024-03-15

    但是我加了--interpreter none就一直彈命令行窗口,關(guān)不掉

  • nitron 2024-03-15

    那我就不清楚了,沒(méi)在windows下用過(guò)

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