如何在nodejs

时间:2015-10-22 15:14:58

标签: linux node.js bash fork

所以我想运行一个脚本来杀死我的nodejs进程并在另一个屏幕窗口中运行另一个。当我从控制台运行命令时它可以工作,但是当从nodejs脚本运行时,kill部分被执行但服务器永远不会运行。

filelog('Attempting restartNodejs with PID: ' + pid
    + ' serverjsLocation: ' + serverjsLocation);
filelog('kill ' + pid + ';screen -d -m -L nodejs ' + serverjsLocation);
//return;

exec('kill ' + pid + ';screen -d -m -L nodejs ' + serverjsLocation);

,日志是

Attempting restartNodejs with PID: 29685 serverjsLocation: /home/git/Gitorade/server.js
kill 29685;screen -d -m -L nodejs /home/git/Gitorade/server.js

但服务器未运行。 ps -e | grep nodejs在第一次运行时没有返回任何内容,而是输出进程。

我的猜测是它以fork运行,所以当我杀死nodejs时,screen命令永远不会被执行,因为我无法获得任何响应或退出操作。该命令后screen.0日志为空。

如何独立运行此exec,以便在kill之后不会被杀死?

0 个答案:

没有答案