2
我试图为测试目的创建一个本地API服务,这涉及到在我的构建系统中运行make命令。代码如下所示:节点:child_process.exec()进程在父进程死后继续
(注:这是CoffeeScript中)
request = require "request"
child_process = require "child_process"
tsc = require "training_service_connector"
campaign = "happytest"
strategy = campaign
port_number = 54340
service_conf_filename = tsc.writeServiceConfig(strategy, port_number)
exec_callback = (error, stdout, stderr) ->
console.log ('stdout:\n' + stdout + '\nstderr:\n' + stderr + "\nerror:\n" + error)
child_process.exec ("CONFIG=#{service_conf_filename} make run_bidder_service_runner", exec_callback)
# some other stuff
现在,在试图找出如何得到测试的其余部分运行之后的API上升(啊异步),我一直在REPL中运行这段代码。 REPL是越野车,所以我必须用ctrl + Z来杀死它。查杀过程之后,似乎子进程仍在运行...
lsof -i :54340
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 52650 max 3u IPv4 20606263 0t0 TCP localhost:54340 (LISTEN)
现在,如果我尝试再次运行它,我得到一个错误说的端口已在使用。为什么孩子的进程不会和父母一起死亡?