Start new process on nodejs
Problem
I'm working with node.js and I want to when there's a request to a url like ./calculate start a new process to make these complex calculations, and I want that process to continue even if the script which called it has finished. Is it possible?
Thank you.
Solution
You can use the natively provided child process facility: http://nodejs.org/api/child_process.html
And use the unix "nohup" command to keep the spawned process alive even if the parent process died.
Discussion
There are different approach to this.
You could use https://github.com/pgriess/node-webworker.
Or much better http://nodejs.org/docs/latest/api/cluster.html#cluster_cluster.
Those solutions are if you want to do a subprocess in Node, you could also simply spawn a new Node process and wait for the output (http://nodejs.org/api/all.html#all_child_process_spawn_command_args_options) but node-webworker is a wrapper around that solution and is a much cleaner.
So after your last comment I know understand better what you want to do.
You want to spawn process not child process. The best and cleaner way to do this is to use some kind of demonizier to run them.
Have a look at forever:
https://github.com/nodejitsu/forever
https://github.com/nodejitsu/forever-monitor
This could be the perfect tool for you. I've never used it programatically, just cli. But this is what I'd look into.
This recipe can be found in it's original form on Stack Over Flow.