我目前正在运行一个使用 GruntJS 运行 Web 应用程序的 Web 应用程序。我通常键入grunt dev
启动它,我可以通过我的本地主机查看它。Ctrl + Z
当我使用(我在 Windows 7 上使用 Cygwin)退出进程时,我正常退出,因为 Cygwin 在 grunt dev 运行时“挂起”。这是它正常工作时的输出:
Running "shell:nodeStart" (shell) task
INFO: Configuration Override: CONFIG.MONGO.URL_CONNECTION : OK
INFO: Running in single node environment
INFO: MongoDB is ready
info: socket.io started
[1]+ Stopped grunt dev
但是,当我对代码进行更改然后grunt dev
再次键入时,Cygwin 并没有挂起——它只是返回到命令行,我不知道为什么。下面是发生了什么的照片:
Running "shell:nodeStart" (shell) task
INFO: Configuration Override: CONFIG.MONGO.URL_CONNECTION : OK
INFO: Running in single node environment
INFO: MongoDB is ready
我注意到info: socket.io started
没有发生这导致我输入ps
以查看正在运行的进程,然后我发现我的nodejs
进程仍在运行。当我试图杀死它时,它说我的 PID 没有找到进程。
$ ps
PID PPID PGID WINPID TTY UID STIME COMMAND
4112 2768 4112 1208 pty0 1000 13:28:47 /usr/bin/ps
5336 1 5336 5336 ? 1000 13:10:29 /usr/bin/mintty
2768 5336 2768 3400 pty0 1000 13:10:29 /usr/bin/bash
7688 1 7708 7788 pty0 1000 13:13:54 /cygdrive/c/Program Files/nodejs/node
这就是我试图杀死它时发生的事情:
$ kill -9 7688
-bash: kill: (7688) - No such process
如果有人对如何终止此进程有任何想法,以便我可以重新启动我的 web 应用程序而不必不断地重新启动我的计算机,那就太好了!谢谢!
编辑:我至少为自己找到了解决方案。我不确定为什么 kill 在 cygwin 上不起作用,但是当我在任务管理器上结束进程时,grunt dev 可以正常工作。谢谢!