Use docker containers to run node-red and pm2 to manage the application. After running for a while, node-red service stops. node-red version is 3.0.2. The following is the error message:
11:00:22 0|red | 21 Nov 11:00:22 - [warn] [function:模拟返回报文] [object Object]
11:58:01 0|red | getAndCheckSign {} 2024-11-21T11:58:01.197Z
11:58:01 0|red | TypeError: Callback must be a function. Received <ref *1> ChildProcess {
11:58:01 0|red | _events: [Object: null prototype] {
11:58:01 0|red | close: [Function: exithandler],
11:58:01 0|red | error: [Function: errorhandler]
11:58:01 0|red | },
11:58:01 0|red | _eventsCount: 2,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _closesNeeded: 3,
11:58:01 0|red | _closesGot: 0,
11:58:01 0|red | connected: false,
11:58:01 0|red | signalCode: null,
11:58:01 0|red | exitCode: null,
11:58:01 0|red | killed: false,
11:58:01 0|red | spawnfile: '/bin/sh',
11:58:01 0|red | _handle: Process {
11:58:01 0|red | onexit: [Function (anonymous)],
11:58:01 0|red | pid: 42,
11:58:01 0|red | [Symbol(owner_symbol)]: [Circular *1]
11:58:01 0|red | },
11:58:01 0|red | spawnargs: [ '/bin/sh', '-c', 'pm2 stop red.js' ],
11:58:01 0|red | pid: 42,
11:58:01 0|red | stdio: [
11:58:01 0|red | <ref *2> Socket {
11:58:01 0|red | connecting: false,
11:58:01 0|red | _hadError: false,
11:58:01 0|red | _parent: null,
11:58:01 0|red | _host: null,
11:58:01 0|red | _readableState: [ReadableState],
11:58:01 0|red | _events: [Object: null prototype],
11:58:01 0|red | _eventsCount: 1,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _writableState: [WritableState],
11:58:01 0|red | allowHalfOpen: false,
11:58:01 0|red | _sockname: null,
11:58:01 0|red | _pendingData: null,
11:58:01 0|red | _pendingEncoding: '',
11:58:01 0|red | server: null,
11:58:01 0|red | _server: null,
11:58:01 0|red | [Symbol(async_id_symbol)]: 4587,
11:58:01 0|red | [Symbol(kHandle)]: [Pipe],
11:58:01 0|red | [Symbol(kSetNoDelay)]: false,
11:58:01 0|red | [Symbol(lastWriteQueueSize)]: 0,
11:58:01 0|red | [Symbol(timeout)]: null,
11:58:01 0|red | [Symbol(kBuffer)]: null,
11:58:01 0|red | [Symbol(kBufferCb)]: null,
11:58:01 0|red | [Symbol(kBufferGen)]: null,
11:58:01 0|red | [Symbol(kCapture)]: false,
11:58:01 0|red | [Symbol(kBytesRead)]: 0,
11:58:01 0|red | [Symbol(kBytesWritten)]: 0
11:58:01 0|red | },
11:58:01 0|red | <ref *3> Socket {
11:58:01 0|red | connecting: false,
11:58:01 0|red | _hadError: false,
11:58:01 0|red | _parent: null,
11:58:01 0|red | _host: null,
11:58:01 0|red | _readableState: [ReadableState],
11:58:01 0|red | _events: [Object: null prototype],
11:58:01 0|red | _eventsCount: 3,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _writableState: [WritableState],
11:58:01 0|red | allowHalfOpen: false,
11:58:01 0|red | _sockname: null,
11:58:01 0|red | _pendingData: null,
11:58:01 0|red | _pendingEncoding: '',
11:58:01 0|red | server: null,
11:58:01 0|red | _server: null,
11:58:01 0|red | [Symbol(async_id_symbol)]: 4588,
11:58:01 0|red | [Symbol(kHandle)]: [Pipe],
11:58:01 0|red | [Symbol(kSetNoDelay)]: false,
11:58:01 0|red | [Symbol(lastWriteQueueSize)]: 0,
11:58:01 0|red | [Symbol(timeout)]: null,
11:58:01 0|red | [Symbol(kBuffer)]: null,
11:58:01 0|red | [Symbol(kBufferCb)]: null,
11:58:01 0|red | [Symbol(kBufferGen)]: null,
11:58:01 0|red | [Symbol(kCapture)]: false,
11:58:01 0|red | [Symbol(kBytesRead)]: 0,
11:58:01 0|red | [Symbol(kBytesWritten)]: 0
11:58:01 0|red | },
11:58:01 0|red | <ref *4> Socket {
11:58:01 0|red | connecting: false,
11:58:01 0|red | _hadError: false,
11:58:01 0|red | _parent: null,
11:58:01 0|red | _host: null,
11:58:01 0|red | _readableState: [ReadableState],
11:58:01 0|red | _events: [Object: null prototype],
11:58:01 0|red | _eventsCount: 3,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _writableState: [WritableState],
11:58:01 0|red | allowHalfOpen: false,
11:58:01 0|red | _sockname: null,
11:58:01 0|red | _pendingData: null,
11:58:01 0|red | _pendingEncoding: '',
11:58:01 0|red | server: null,
11:58:01 0|red | _server: null,
11:58:01 0|red | [Symbol(async_id_symbol)]: 4589,
11:58:01 0|red | [Symbol(kHandle)]: [Pipe],
11:58:01 0|red | [Symbol(kSetNoDelay)]: false,
11:58:01 0|red | [Symbol(lastWriteQueueSize)]: 0,
11:58:01 0|red | [Symbol(timeout)]: null,
11:58:01 0|red | [Symbol(kBuffer)]: null,
11:58:01 0|red | [Symbol(kBufferCb)]: null,
11:58:01 0|red | [Symbol(kBufferGen)]: null,
11:58:01 0|red | [Symbol(kCapture)]: false,
11:58:01 0|red | [Symbol(kBytesRead)]: 0,
11:58:01 0|red | [Symbol(kBytesWritten)]: 0
11:58:01 0|red | }
11:58:01 0|red | ],
11:58:01 0|red | [Symbol(kCapture)]: false
11:58:01 0|red | }
11:58:01 0|red | at setTimeout (node:timers:141:3)
11:58:01 0|red | at Object.getAndCheckSign (/usr/src/app/node_modules/@node-red/editor-api/lib/editor/projects.js:109:17)
11:58:01 0|red | at Timeout._onTimeout (/usr/src/app/node_modules/@node-red/editor-api/lib/editor/comms.js:248:26)
11:58:01 0|red | at listOnTimeout (node:internal/timers:559:17)
11:58:01 0|red | at processTimers (node:internal/timers:502:7) {
11:58:01 0|red | code: 'ERR_INVALID_CALLBACK'
11:58:01 0|red | }
11:58:01 0|red | err<><><><><><>
11:58:01 0|red | TypeError: Callback must be a function. Received <ref *1> ChildProcess {
11:58:01 0|red | _events: [Object: null prototype] {
11:58:01 0|red | close: [Function: exithandler],
11:58:01 0|red | error: [Function: errorhandler]
11:58:01 0|red | },
11:58:01 0|red | _eventsCount: 2,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _closesNeeded: 3,
11:58:01 0|red | _closesGot: 0,
11:58:01 0|red | connected: false,
11:58:01 0|red | signalCode: null,
11:58:01 0|red | exitCode: null,
11:58:01 0|red | killed: false,
11:58:01 0|red | spawnfile: '/bin/sh',
11:58:01 0|red | _handle: Process {
11:58:01 0|red | onexit: [Function (anonymous)],
11:58:01 0|red | pid: 49,
11:58:01 0|red | [Symbol(owner_symbol)]: [Circular *1]
11:58:01 0|red | },
11:58:01 0|red | spawnargs: [ '/bin/sh', '-c', 'pm2 stop red.js' ],
11:58:01 0|red | pid: 49,
11:58:01 0|red | stdin: <ref *2> Socket {
11:58:01 0|red | connecting: false,
11:58:01 0|red | _hadError: false,
11:58:01 0|red | _parent: null,
11:58:01 0|red | _host: null,
11:58:01 0|red | _readableState: ReadableState {
11:58:01 0|red | objectMode: false,
11:58:01 0|red | highWaterMark: 16384,
11:58:01 0|red | buffer: BufferList { head: null, tail: null, length: 0 },
11:58:01 0|red | length: 0,
11:58:01 0|red | pipes: [],
11:58:01 0|red | flowing: null,
11:58:01 0|red | ended: false,
11:58:01 0|red | endEmitted: false,
11:58:01 0|red | reading: false,
11:58:01 0|red | constructed: true,
11:58:01 0|red | sync: true,
11:58:01 0|red | needReadable: false,
11:58:01 0|red | emittedReadable: false,
11:58:01 0|red | readableListening: false,
11:58:01 0|red | resumeScheduled: false,
11:58:01 0|red | errorEmitted: false,
11:58:01 0|red | emitClose: false,
11:58:01 0|red | autoDestroy: true,
11:58:01 0|red | destroyed: false,
11:58:01 0|red | errored: null,
11:58:01 0|red | closed: false,
11:58:01 0|red | closeEmitted: false,
11:58:01 0|red | defaultEncoding: 'utf8',
11:58:01 0|red | awaitDrainWriters: null,
11:58:01 0|red | multiAwaitDrain: false,
11:58:01 0|red | readingMore: false,
11:58:01 0|red | dataEmitted: false,
11:58:01 0|red | decoder: null,
11:58:01 0|red | encoding: null,
11:58:01 0|red | readable: false,
11:58:01 0|red | [Symbol(kPaused)]: null
11:58:01 0|red | },
11:58:01 0|red | _events: [Object: null prototype] { end: [Function: onReadableStreamEnd] },
11:58:01 0|red | _eventsCount: 1,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _writableState: WritableState {
11:58:01 0|red | objectMode: false,
11:58:01 0|red | highWaterMark: 16384,
11:58:01 0|red | finalCalled: false,
11:58:01 0|red | needDrain: false,
11:58:01 0|red | ending: false,
11:58:01 0|red | ended: false,
11:58:01 0|red | finished: false,
11:58:01 0|red | destroyed: false,
11:58:01 0|red | decodeStrings: false,
11:58:01 0|red | defaultEncoding: 'utf8',
11:58:01 0|red | length: 0,
11:58:01 0|red | writing: false,
11:58:01 0|red | corked: 0,
11:58:01 0|red | sync: true,
11:58:01 0|red | bufferProcessing: false,
11:58:01 0|red | onwrite: [Function: bound onwrite],
11:58:01 0|red | writecb: null,
11:58:01 0|red | writelen: 0,
11:58:01 0|red | afterWriteTickInfo: null,
11:58:01 0|red | buffered: [],
11:58:01 0|red | bufferedIndex: 0,
11:58:01 0|red | allBuffers: true,
11:58:01 0|red | allNoop: true,
11:58:01 0|red | pendingcb: 0,
11:58:01 0|red | constructed: true,
11:58:01 0|red | prefinished: false,
11:58:01 0|red | errorEmitted: false,
11:58:01 0|red | emitClose: false,
11:58:01 0|red | autoDestroy: true,
11:58:01 0|red | errored: null,
11:58:01 0|red | closed: false,
11:58:01 0|red | closeEmitted: false,
11:58:01 0|red | [Symbol(kOnFinished)]: []
11:58:01 0|red | },
11:58:01 0|red | allowHalfOpen: false,
11:58:01 0|red | _sockname: null,
11:58:01 0|red | _pendingData: null,
11:58:01 0|red | _pendingEncoding: '',
11:58:01 0|red | server: null,
11:58:01 0|red | _server: null,
11:58:01 0|red | [Symbol(async_id_symbol)]: 4595,
11:58:01 0|red | [Symbol(kHandle)]: Pipe { [Symbol(owner_symbol)]: [Circular *2] },
11:58:01 0|red | [Symbol(kSetNoDelay)]: false,
11:58:01 0|red | [Symbol(lastWriteQueueSize)]: 0,
11:58:01 0|red | [Symbol(timeout)]: null,
11:58:01 0|red | [Symbol(kBuffer)]: null,
11:58:01 0|red | [Symbol(kBufferCb)]: null,
11:58:01 0|red | [Symbol(kBufferGen)]: null,
11:58:01 0|red | [Symbol(kCapture)]: false,
11:58:01 0|red | [Symbol(kBytesRead)]: 0,
11:58:01 0|red | [Symbol(kBytesWritten)]: 0
11:58:01 0|red | },
11:58:01 0|red | stdout: <ref *3> Socket {
11:58:01 0|red | connecting: false,
11:58:01 0|red | _hadError: false,
11:58:01 0|red | _parent: null,
11:58:01 0|red | _host: null,
11:58:01 0|red | _readableState: ReadableState {
11:58:01 0|red | objectMode: false,
11:58:01 0|red | highWaterMark: 16384,
11:58:01 0|red | buffer: BufferList { head: null, tail: null, length: 0 },
11:58:01 0|red | length: 0,
11:58:01 0|red | pipes: [],
11:58:01 0|red | flowing: true,
11:58:01 0|red | ended: false,
11:58:01 0|red | endEmitted: false,
11:58:01 0|red | reading: true,
11:58:01 0|red | constructed: true,
11:58:01 0|red | sync: false,
11:58:01 0|red | needReadable: true,
11:58:01 0|red | emittedReadable: false,
11:58:01 0|red | readableListening: false,
11:58:01 0|red | resumeScheduled: true,
11:58:01 0|red | errorEmitted: false,
11:58:01 0|red | emitClose: false,
11:58:01 0|red | autoDestroy: true,
11:58:01 0|red | destroyed: false,
11:58:01 0|red | errored: null,
11:58:01 0|red | closed: false,
11:58:01 0|red | closeEmitted: false,
11:58:01 0|red | defaultEncoding: 'utf8',
11:58:01 0|red | awaitDrainWriters: null,
11:58:01 0|red | multiAwaitDrain: false,
11:58:01 0|red | readingMore: false,
11:58:01 0|red | dataEmitted: false,
11:58:01 0|red | decoder: [StringDecoder],
11:58:01 0|red | encoding: 'utf8',
11:58:01 0|red | [Symbol(kPaused)]: false
11:58:01 0|red | },
11:58:01 0|red | _events: [Object: null prototype] {
11:58:01 0|red | end: [Function: onReadableStreamEnd],
11:58:01 0|red | close: [Function (anonymous)],
11:58:01 0|red | data: [Function: onChildStdout]
11:58:01 0|red | },
11:58:01 0|red | _eventsCount: 3,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _writableState: WritableState {
11:58:01 0|red | objectMode: false,
11:58:01 0|red | highWaterMark: 16384,
11:58:01 0|red | finalCalled: false,
11:58:01 0|red | needDrain: false,
11:58:01 0|red | ending: false,
11:58:01 0|red | ended: false,
11:58:01 0|red | finished: false,
11:58:01 0|red | destroyed: false,
11:58:01 0|red | decodeStrings: false,
11:58:01 0|red | defaultEncoding: 'utf8',
11:58:01 0|red | length: 0,
11:58:01 0|red | writing: false,
11:58:01 0|red | corked: 0,
11:58:01 0|red | sync: true,
11:58:01 0|red | bufferProcessing: false,
11:58:01 0|red | onwrite: [Function: bound onwrite],
11:58:01 0|red | writecb: null,
11:58:01 0|red | writelen: 0,
11:58:01 0|red | afterWriteTickInfo: null,
11:58:01 0|red | buffered: [],
11:58:01 0|red | bufferedIndex: 0,
11:58:01 0|red | allBuffers: true,
11:58:01 0|red | allNoop: true,
11:58:01 0|red | pendingcb: 0,
11:58:01 0|red | constructed: true,
11:58:01 0|red | prefinished: false,
11:58:01 0|red | errorEmitted: false,
11:58:01 0|red | emitClose: false,
11:58:01 0|red | autoDestroy: true,
11:58:01 0|red | errored: null,
11:58:01 0|red | closed: false,
11:58:01 0|red | closeEmitted: false,
11:58:01 0|red | writable: false,
11:58:01 0|red | [Symbol(kOnFinished)]: []
11:58:01 0|red | },
11:58:01 0|red | allowHalfOpen: false,
11:58:01 0|red | _sockname: null,
11:58:01 0|red | _pendingData: null,
11:58:01 0|red | _pendingEncoding: '',
11:58:01 0|red | server: null,
11:58:01 0|red | _server: null,
11:58:01 0|red | [Symbol(async_id_symbol)]: 4596,
11:58:01 0|red | [Symbol(kHandle)]: Pipe { reading: true, [Symbol(owner_symbol)]: [Circular *3] },
11:58:01 0|red | [Symbol(kSetNoDelay)]: false,
11:58:01 0|red | [Symbol(lastWriteQueueSize)]: 0,
11:58:01 0|red | [Symbol(timeout)]: null,
11:58:01 0|red | [Symbol(kBuffer)]: null,
11:58:01 0|red | [Symbol(kBufferCb)]: null,
11:58:01 0|red | [Symbol(kBufferGen)]: null,
11:58:01 0|red | [Symbol(kCapture)]: false,
11:58:01 0|red | [Symbol(kBytesRead)]: 0,
11:58:01 0|red | [Symbol(kBytesWritten)]: 0
11:58:01 0|red | },
11:58:01 0|red | stderr: <ref *4> Socket {
11:58:01 0|red | connecting: false,
11:58:01 0|red | _hadError: false,
11:58:01 0|red | _parent: null,
11:58:01 0|red | _host: null,
11:58:01 0|red | _readableState: ReadableState {
11:58:01 0|red | objectMode: false,
11:58:01 0|red | highWaterMark: 16384,
11:58:01 0|red | buffer: BufferList { head: null, tail: null, length: 0 },
11:58:01 0|red | length: 0,
11:58:01 0|red | pipes: [],
11:58:01 0|red | flowing: true,
11:58:01 0|red | ended: false,
11:58:01 0|red | endEmitted: false,
11:58:01 0|red | reading: true,
11:58:01 0|red | constructed: true,
11:58:01 0|red | sync: false,
11:58:01 0|red | needReadable: true,
11:58:01 0|red | emittedReadable: false,
11:58:01 0|red | readableListening: false,
11:58:01 0|red | resumeScheduled: true,
11:58:01 0|red | errorEmitted: false,
11:58:01 0|red | emitClose: false,
11:58:01 0|red | autoDestroy: true,
11:58:01 0|red | destroyed: false,
11:58:01 0|red | errored: null,
11:58:01 0|red | closed: false,
11:58:01 0|red | closeEmitted: false,
11:58:01 0|red | defaultEncoding: 'utf8',
11:58:01 0|red | awaitDrainWriters: null,
11:58:01 0|red | multiAwaitDrain: false,
11:58:01 0|red | readingMore: false,
11:58:01 0|red | dataEmitted: false,
11:58:01 0|red | decoder: [StringDecoder],
11:58:01 0|red | encoding: 'utf8',
11:58:01 0|red | [Symbol(kPaused)]: false
11:58:01 0|red | },
11:58:01 0|red | _events: [Object: null prototype] {
11:58:01 0|red | end: [Function: onReadableStreamEnd],
11:58:01 0|red | close: [Function (anonymous)],
11:58:01 0|red | data: [Function: onChildStderr]
11:58:01 0|red | },
11:58:01 0|red | _eventsCount: 3,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _writableState: WritableState {
11:58:01 0|red | objectMode: false,
11:58:01 0|red | highWaterMark: 16384,
11:58:01 0|red | finalCalled: false,
11:58:01 0|red | needDrain: false,
11:58:01 0|red | ending: false,
11:58:01 0|red | ended: false,
11:58:01 0|red | finished: false,
11:58:01 0|red | destroyed: false,
11:58:01 0|red | decodeStrings: false,
11:58:01 0|red | defaultEncoding: 'utf8',
11:58:01 0|red | length: 0,
11:58:01 0|red | writing: false,
11:58:01 0|red | corked: 0,
11:58:01 0|red | sync: true,
11:58:01 0|red | bufferProcessing: false,
11:58:01 0|red | onwrite: [Function: bound onwrite],
11:58:01 0|red | writecb: null,
11:58:01 0|red | writelen: 0,
11:58:01 0|red | afterWriteTickInfo: null,
11:58:01 0|red | buffered: [],
11:58:01 0|red | bufferedIndex: 0,
11:58:01 0|red | allBuffers: true,
11:58:01 0|red | allNoop: true,
11:58:01 0|red | pendingcb: 0,
11:58:01 0|red | constructed: true,
11:58:01 0|red | prefinished: false,
11:58:01 0|red | errorEmitted: false,
11:58:01 0|red | emitClose: false,
11:58:01 0|red | autoDestroy: true,
11:58:01 0|red | errored: null,
11:58:01 0|red | closed: false,
11:58:01 0|red | closeEmitted: false,
11:58:01 0|red | writable: false,
11:58:01 0|red | [Symbol(kOnFinished)]: []
11:58:01 0|red | },
11:58:01 0|red | allowHalfOpen: false,
11:58:01 0|red | _sockname: null,
11:58:01 0|red | _pendingData: null,
11:58:01 0|red | _pendingEncoding: '',
11:58:01 0|red | server: null,
11:58:01 0|red | _server: null,
11:58:01 0|red | [Symbol(async_id_symbol)]: 4597,
11:58:01 0|red | [Symbol(kHandle)]: Pipe { reading: true, [Symbol(owner_symbol)]: [Circular *4] },
11:58:01 0|red | [Symbol(kSetNoDelay)]: false,
11:58:01 0|red | [Symbol(lastWriteQueueSize)]: 0,
11:58:01 0|red | [Symbol(timeout)]: null,
11:58:01 0|red | [Symbol(kBuffer)]: null,
11:58:01 0|red | [Symbol(kBufferCb)]: null,
11:58:01 0|red | [Symbol(kBufferGen)]: null,
11:58:01 0|red | [Symbol(kCapture)]: false,
11:58:01 0|red | [Symbol(kBytesRead)]: 0,
11:58:01 0|red | [Symbol(kBytesWritten)]: 0
11:58:01 0|red | },
11:58:01 0|red | stdio: [
11:58:01 0|red | <ref *2> Socket {
11:58:01 0|red | connecting: false,
11:58:01 0|red | _hadError: false,
11:58:01 0|red | _parent: null,
11:58:01 0|red | _host: null,
11:58:01 0|red | _readableState: [ReadableState],
11:58:01 0|red | _events: [Object: null prototype],
11:58:01 0|red | _eventsCount: 1,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _writableState: [WritableState],
11:58:01 0|red | allowHalfOpen: false,
11:58:01 0|red | _sockname: null,
11:58:01 0|red | _pendingData: null,
11:58:01 0|red | _pendingEncoding: '',
11:58:01 0|red | server: null,
11:58:01 0|red | _server: null,
11:58:01 0|red | [Symbol(async_id_symbol)]: 4595,
11:58:01 0|red | [Symbol(kHandle)]: [Pipe],
11:58:01 0|red | [Symbol(kSetNoDelay)]: false,
11:58:01 0|red | [Symbol(lastWriteQueueSize)]: 0,
11:58:01 0|red | [Symbol(timeout)]: null,
11:58:01 0|red | [Symbol(kBuffer)]: null,
11:58:01 0|red | [Symbol(kBufferCb)]: null,
11:58:01 0|red | [Symbol(kBufferGen)]: null,
11:58:01 0|red | [Symbol(kCapture)]: false,
11:58:01 0|red | [Symbol(kBytesRead)]: 0,
11:58:01 0|red | [Symbol(kBytesWritten)]: 0
11:58:01 0|red | },
11:58:01 0|red | <ref *3> Socket {
11:58:01 0|red | connecting: false,
11:58:01 0|red | _hadError: false,
11:58:01 0|red | _parent: null,
11:58:01 0|red | _host: null,
11:58:01 0|red | _readableState: [ReadableState],
11:58:01 0|red | _events: [Object: null prototype],
11:58:01 0|red | _eventsCount: 3,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _writableState: [WritableState],
11:58:01 0|red | allowHalfOpen: false,
11:58:01 0|red | _sockname: null,
11:58:01 0|red | _pendingData: null,
11:58:01 0|red | _pendingEncoding: '',
11:58:01 0|red | server: null,
11:58:01 0|red | _server: null,
11:58:01 0|red | [Symbol(async_id_symbol)]: 4596,
11:58:01 0|red | [Symbol(kHandle)]: [Pipe],
11:58:01 0|red | [Symbol(kSetNoDelay)]: false,
11:58:01 0|red | [Symbol(lastWriteQueueSize)]: 0,
11:58:01 0|red | [Symbol(timeout)]: null,
11:58:01 0|red | [Symbol(kBuffer)]: null,
11:58:01 0|red | [Symbol(kBufferCb)]: null,
11:58:01 0|red | [Symbol(kBufferGen)]: null,
11:58:01 0|red | [Symbol(kCapture)]: false,
11:58:01 0|red | [Symbol(kBytesRead)]: 0,
11:58:01 0|red | [Symbol(kBytesWritten)]: 0
11:58:01 0|red | },
11:58:01 0|red | <ref *4> Socket {
11:58:01 0|red | connecting: false,
11:58:01 0|red | _hadError: false,
11:58:01 0|red | _parent: null,
11:58:01 0|red | _host: null,
11:58:01 0|red | _readableState: [ReadableState],
11:58:01 0|red | _events: [Object: null prototype],
11:58:01 0|red | _eventsCount: 3,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _writableState: [WritableState],
11:58:01 0|red | allowHalfOpen: false,
11:58:01 0|red | _sockname: null,
11:58:01 0|red | _pendingData: null,
11:58:01 0|red | _pendingEncoding: '',
11:58:01 0|red | server: null,
11:58:01 0|red | _server: null,
11:58:01 0|red | [Symbol(async_id_symbol)]: 4597,
11:58:01 0|red | [Symbol(kHandle)]: [Pipe],
11:58:01 0|red | [Symbol(kSetNoDelay)]: false,
11:58:01 0|red | [Symbol(lastWriteQueueSize)]: 0,
11:58:01 0|red | [Symbol(timeout)]: null,
11:58:01 0|red | [Symbol(kBuffer)]: null,
11:58:01 0|red | [Symbol(kBufferCb)]: null,
11:58:01 0|red | [Symbol(kBufferGen)]: null,
11:58:01 0|red | [Symbol(kCapture)]: false,
11:58:01 0|red | [Symbol(kBytesRead)]: 0,
11:58:01 0|red | [Symbol(kBytesWritten)]: 0
11:58:01 0|red | }
11:58:01 0|red | ],
11:58:01 0|red | [Symbol(kCapture)]: false
11:58:01 0|red | }
11:58:01 0|red | at setTimeout (node:timers:141:3)
11:58:01 0|red | at Object.getAndCheckSign (/usr/src/app/node_modules/@node-red/editor-api/lib/editor/projects.js:201:9)
11:58:01 0|red | at Timeout._onTimeout (/usr/src/app/node_modules/@node-red/editor-api/lib/editor/comms.js:248:26)
11:58:01 0|red | at listOnTimeout (node:internal/timers:559:17)
11:58:01 0|red | at processTimers (node:internal/timers:502:7) {
11:58:01 0|red | code: 'ERR_INVALID_CALLBACK'
11:58:01 0|red | }
11:58:01 0|red | 21 Nov 11:58:01 - [red] Uncaught Exception:
11:58:01 0|red | 21 Nov 11:58:01 - [error] TypeError: Callback must be a function. Received <ref *1> ChildProcess {
11:58:01 0|red | _events: [Object: null prototype] {
11:58:01 0|red | close: [Function: exithandler],
11:58:01 0|red | error: [Function: errorhandler]
11:58:01 0|red | },
11:58:01 0|red | _eventsCount: 2,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _closesNeeded: 3,
11:58:01 0|red | _closesGot: 0,
11:58:01 0|red | connected: false,
11:58:01 0|red | signalCode: null,
11:58:01 0|red | exitCode: null,
11:58:01 0|red | killed: false,
11:58:01 0|red | spawnfile: '/bin/sh',
11:58:01 0|red | _handle: Process {
11:58:01 0|red | onexit: [Function (anonymous)],
11:58:01 0|red | pid: 49,
11:58:01 0|red | [Symbol(owner_symbol)]: [Circular *1]
11:58:01 0|red | },
11:58:01 0|red | spawnargs: [ '/bin/sh', '-c', 'pm2 stop red.js' ],
11:58:01 0|red | pid: 49,
11:58:01 0|red | <ref *4> Socket {
11:58:01 0|red | connecting: false,
11:58:01 0|red | _hadError: false,
11:58:01 0|red | _parent: null,
11:58:01 0|red | _host: null,
11:58:01 0|red | _readableState: [ReadableState],
11:58:01 0|red | _events: [Object: null prototype],
11:58:01 0|red | _eventsCount: 3,
11:58:01 0|red | _maxListeners: undefined,
11:58:01 0|red | _writableState: [WritableState],
11:58:01 0|red | allowHalfOpen: false,
11:58:01 0|red | _sockname: null,
11:58:01 0|red | _pendingData: null,
11:58:01 0|red | _pendingEncoding: '',
11:58:01 0|red | server: null,
11:58:01 0|red | _server: null,
11:58:01 0|red | [Symbol(async_id_symbol)]: 4597,
11:58:01 0|red | [Symbol(kHandle)]: [Pipe],
11:58:01 0|red | [Symbol(kSetNoDelay)]: false,
11:58:01 0|red | [Symbol(lastWriteQueueSize)]: 0,
11:58:01 0|red | [Symbol(timeout)]: null,
11:58:01 0|red | [Symbol(kBuffer)]: null,
11:58:01 0|red | [Symbol(kBufferCb)]: null,
11:58:01 0|red | [Symbol(kBufferGen)]: null,
11:58:01 0|red | [Symbol(kCapture)]: false,
11:58:01 0|red | [Symbol(kBytesRead)]: 0,
11:58:01 0|red | [Symbol(kBytesWritten)]: 0
11:58:01 0|red | }
11:58:01 0|red | ],
11:58:01 0|red | [Symbol(kCapture)]: false
11:58:01 0|red | }
11:58:01 0|red | at setTimeout (node:timers:141:3)
11:58:01 0|red | at Object.getAndCheckSign (/usr/src/app/node_modules/@node-red/editor-api/lib/editor/projects.js:201:9)
11:58:01 0|red | at Timeout._onTimeout (/usr/src/app/node_modules/@node-red/editor-api/lib/editor/comms.js:248:26)
11:58:01 0|red | at listOnTimeout (node:internal/timers:559:17)
11:58:01 0|red | at processTimers (node:internal/timers:502:7)
2024-11-21T11:58:01: PM2 log: App [red:0] exited with code [1] via signal [SIGINT]
11:58:01 PM2 | App [red:0] exited with code [1] via signal [SIGINT]
2024-11-21T11:58:01: PM2 log: App [red:0] starting in -fork mode-
11:58:01 PM2 | App [red:0] starting in -fork mode-
2024-11-21T11:58:01: PM2 log: App [red:0] online
11:58:01 PM2 | App [red:0] online
2024-11-21T11:58:01: PM2 log: Stopping app:red id:0
2024-11-21T11:58:01: PM2 log: Stopping app:red id:0
11:58:01 PM2 | Stopping app:red id:0
11:58:01 PM2 | Error: spawn ps ENOENT
11:58:01 PM2 | at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
11:58:01 PM2 | at onErrorNT (node:internal/child_process:478:16)
11:58:01 PM2 | at processTicksAndRejections (node:internal/process/task_queues:83:21) {
11:58:01 PM2 | errno: -2,
11:58:01 PM2 | code: 'ENOENT',
11:58:01 PM2 | syscall: 'spawn ps',
11:58:01 PM2 | path: 'ps',
11:58:01 PM2 | spawnargs: [ '-o', 'pid', '--no-headers', '--ppid', 58 ]
11:58:01 PM2 | }
11:58:01 PM2 | Stopping app:red id:0
11:58:01 PM2 | Error: spawn ps ENOENT
11:58:01 PM2 | at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
11:58:01 PM2 | at onErrorNT (node:internal/child_process:478:16)
11:58:01 PM2 | at processTicksAndRejections (node:internal/process/task_queues:83:21) {
11:58:01 PM2 | errno: -2,
11:58:01 PM2 | code: 'ENOENT',
11:58:01 PM2 | syscall: 'spawn ps',
11:58:01 PM2 | path: 'ps',
11:58:01 PM2 | spawnargs: [ '-o', 'pid', '--no-headers', '--ppid', 58 ]
11:58:01 PM2 | }
2024-11-21T11:58:01: PM2 log: App [red:0] exited with code [0] via signal [SIGINT]
11:58:01 PM2 | App [red:0] exited with code [0] via signal [SIGINT]
2024-11-21T11:58:01: PM2 log: pid=58 msg=process killed
2024-11-21T11:58:01: PM2 log: pid=58 msg=process killed
11:58:01 PM2 | pid=58 msg=process killed
11:58:01 PM2 | pid=58 msg=process killed