TL DR: How to deploy a process located outside the current current process?
I am trying to use child_process for Nodejs to start another nodejs process on the output of the parent process.
I successfully executed this process with exec , but I need the child process to be independent of the parent, so the parent can exit without waiting for the child, so I tried using spawn with the detached: true, stdio: 'ignore' option detached: true, stdio: 'ignore' and unref() process:
the options.detached to true parameter allows the child process to continue working after the parent exits.
spawn('node MY_PATH', [], {detached: true, stdio: 'ignore'}).unref();
This gives:
node MY_PATH ENOENT error. Unfortunately, I could not solve the problem.
After you had problems with spawn and read the documentation again, I decided that I should use fork :
The child_process.fork () method is a special case of child_process.spawn (), used specifically to create new Node.js processes.
fork() does not accept the command as its first argument, but modulePath , which seems to be unsuitable, since the script that I am trying to run as a child process is not in the directory of the current current process, but depending on it.
Return to start TL; DR - how to deploy a process that is outside the current running process?
Any help would be greatly appreciated!
EDIT:
Providing a spawn ENOENT error solution can also be very helpful!