Node.js得到了生成进程的pid

时间:2018-04-03 18:50:59

标签: javascript node.js

我正在尝试使用node.js.试图产生进程,但似乎无法在关闭时获得正确的PID。如果我运行下面的函数,它将生成一个进程,但是on on函数中返回的ls.pid将始终是上一个进程的pid。

function app_cmd(cmd, args,path) {
  ls = spawn ( cmd , args , { cwd : path } );
  console.log ( cmd +' ' + ls.pid );
  ls.on ( 'close' , function(code) {
    console.log ( 'returning: ' + code + ' on ' + ls.pid );
  } );
  return ls.pid;
}

因此,如果我调用该函数两次,我会得到以下输出(请注意返回中的两次6940):

php.exe 6076
php.exe 6940
returning: 0 on 6940
returning: 0 on 6940

任何人都有关于如何在onClose中获得正确PID的指针?

非常感谢,

扎带

1 个答案:

答案 0 :(得分:2)

您似乎错误地将$(document).ready(function(){ $('.btn').click(function(){ $('.btn').removeClass('active'); $(this).addClass('active'); }); }); 声称为全局,导致第二次覆盖它,添加ls应该修复它。

var|let|const