2013-10-08 3 views
1

В настоящее время я запускаю веб-приложение, которое использует GruntJS для запуска веб-приложения. Обычно я нахожу grunt dev, и я могу посмотреть на него через локальный хост. Когда я выхожу из процесса, используя Ctrl + Z (я использую Cygwin в Windows 7), я обычно выхожу из-за того, что Cygwin «зависает», когда работает grunt dev. Это то, что он выдает, когда он работает правильно:Не удается убить процесс узла js с помощью 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 

Если у кого есть какие-либо идеи о том, как убить этот процесс, так что я могу перезагрузить веб-приложение без необходимости постоянно перезагружать компьютер, это было бы прекрасно! Благодаря!

EDIT: Я выяснил решение, по крайней мере, для себя. Я не уверен, почему kill не работает на cygwin, но когда я заканчиваю процесс в диспетчере задач, grunt dev работает так, как должен. Благодаря!

ответ

0

Попробуйте использовать /bin/kill вместо встроенного kill.

/bin/kill -f 7688 
+0

Я попробовал это, и он говорит: '/ bin/убить -f 7688' ' убить: не мог убить Pid 7788, 5' Я не уверен, почему PID меняется ... Но я обратите внимание, что WINPID - 7788. – user1871869

+0

Попробуйте '/ bin/kill -9 7688', если это будет работать, я отредактирую свой пост. – PMint

+0

Он просто говорит, что нет процесса '7688'. Любые другие советы? Наверное, я просто хотел бы узнать в целом. – user1871869

1

Nevermind, я выяснил решение. Я не уверен, почему, когда я пытаюсь убить задачу на cygwin, она не работает, но когда я открываю диспетчер задач и вручную удаляю процесс, он работает нормально. Благодаря!

Смежные вопросы