我目前正在运行使用GruntJS运行Web应用程序的Web应用程序。我通常输入grunt dev
来启动它,我可以通过我的本地主机查看它。当我使用Ctrl + Z
退出流程时(我在Windows 7上使用Cygwin),我正常退出,因为当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
[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
如果有人知道如何终止这个过程,那么我可以重新启动我的webapp而不必经常重启我的电脑,那太好了!谢谢!
编辑:我至少为自己找到了解决方案。我不确定为什么kill不能用于cygwin,但是当我在任务管理器上结束这个过程时,grunt dev会按原样运行。谢谢!答案 0 :(得分:1)
没关系,我已经找到了解决方案。我不确定为什么当我试图杀死cygwin上的任务时,它不起作用,但是当我打开任务管理器并手动删除进程时,它运行正常。谢谢!
答案 1 :(得分:0)
尝试使用/bin/kill
代替内置kill
。
/bin/kill -f 7688