Skip to content

[Windows] pm2.disconnect() and pm2.connect() Will Crash on Windows 10 #6002

Open
@kyle-go

Description

@kyle-go
const pm2 = require('pm2');

// Promisify PM2 functions
const connectPM2 = () => {
    return new Promise((resolve, reject) => {
        pm2.connect((err) => {
            if (err) {
                reject(err);
            } else {
                resolve();
            }
        });
    });
};

const listProcesses = () => {
    return new Promise((resolve, reject) => {
        pm2.list((err, list) => {
            if (err) {
                reject(err);
            } else {
                resolve(list);
            }
        });
    });
};

// test async function
async function test() {
    try {
        // Connect to PM2
        await connectPM2();
        console.log('Connected to PM2');
        const list = await listProcesses();
        console.log('PM2 Process List=' + list.length);
    } catch (error) {
        console.error('Error:', error);
        process.exit(1);
    } finally {
        // Always disconnect from PM2
        pm2.disconnect();
        console.log('Disconnected from PM2');
    }
}

(async ()=> {
    await test()
    await test()
})()

OUT PUT:

C:\Users\LPC\Desktop\check-pm2>node index.js
Connected to PM2
PM2 Process List=0
Disconnected from PM2
C:\Users\LPC\Desktop\check-pm2\node_modules\pm2\lib\Client.js:365
    self.client.sock.removeListener('error', errorHandler);
                ^

TypeError: Cannot read properties of null (reading 'sock')
    at ReqSocket.connectHandler (C:\Users\LPC\Desktop\check-pm2\node_modules\pm2\lib\Client.js:365:17)     
    at Object.onceWrapper (node:events:621:28)
    at ReqSocket.emit (node:events:519:35)
    at Socket.<anonymous> (C:\Users\LPC\Desktop\check-pm2\node_modules\pm2-axon\lib\sockets\sock.js:291:10)
    at Socket.emit (node:events:507:28)
    at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1621:10)

Node.js v23.11.1

C:\Users\LPC\Desktop\check-pm2>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions