【发布时间】:2017-08-31 07:49:17
【问题描述】:
我在 Windows 上使用 git bash 来运行命令。
In the doc 在调试时他们说:
如果进程在没有 --inspect 的情况下启动,则使用 SIGUSR1 向它发出信号 激活调试器并打印连接 URL。
我试过这样做:
$ node index.js
server is listening on 3000
$ ps
PID COMMAND
16348 /c/Program Files/nodejs/node
$ kill -s SIGUSR1 16348
但随后进程停止而不是打印连接 URL:
$ node index.js
server is listening on 3000
User defined signal 1
【问题讨论】:
-
您使用的是哪个版本的 Node?我用 v6 和 v8 进行了测试,在这两种情况下都启动了调试器(尽管我使用的是 macOS,看起来你使用的是 Windows)。
-
@robertklep,谢谢,我正在使用 V8。是的,我通过 git bash 在 Windows 上。你能显示你执行的命令吗?
-
我正在使用与您完全相同的命令,但看起来 SIGUSR1 仅适用于 UNIX。似乎有一个未记录的命令可用于在 Windows 上启动调试器:
node -e "process._debugProcess(PID)"(其中PID是您要为其启动调试器的进程的进程 ID)。看到这个问题:stackoverflow.com/questions/35735020/… -
@AlexBlex 问题不是发送(正确)信号,进程退出并告诉它接收到“用户定义的信号1”(又名
SIGUSR1)。问题是调试器没有启动,这与文档所述(以及在类 UNIX 操作系统上实际发生的情况)相反。
标签: javascript node.js