Я пытаюсь написать команду останова для моего приложения nodeJS, который отбирает для процесса узла и убивает его, до сих пор у меня есть:Killing процесс узла, используя package.json сценарий остановки
{
...
"scripts": {
"start": "node src/main/webapp/index.js",
"stop": "kill \"$(ps ux | grep node | grep -Eo '^\\s+[0-9]+' | tr -d '[[:space:]]')\""
}
...
}
Если я запустить ps ux
я получаю
PID PPID PGID WINPID TTY UID STIME COMMAND
12228 8428 12228 12960 cons0 197608 22:02:12 /usr/bin/ps
4840 1 4840 4840 cons0 197608 22:01:46 /usr/bin/bash
13484 12292 12292 8024 cons0 197608 22:02:07 /c/Program Files/nodejs/node
Если я бегу echo "$(ps ux | grep node | grep -Eo '^\s+[0-9]+' | tr -d '[[:space:]]')"
тогда я получаю выход 13484
так что я знаю, что немного работы. Однако, когда я бегу npm stop
я получаю ошибку:
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "stop"
npm ERR! node v0.12.4
npm ERR! npm v2.10.1
npm ERR! code ELIFECYCLE
npm ERR! [email protected] stop: `kill "$(ps ux | grep node | grep -Eo '^\s+[0-9]+' | tr -d '[[:space:]]')"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] stop script 'kill "$(ps ux | grep node | grep -Eo '^\s+[0-9]+' | tr -d '[[:space:]]')"'.
npm ERR! This is most likely a problem with the app package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! kill "$(ps ux | grep node | grep -Eo '^\s+[0-9]+' | tr -d '[[:space:]]')"
npm ERR! You can get their info via:
npm ERR! npm owner ls app
npm ERR! There is likely additional logging output above.
Почему этот разрыв? Есть ли более простой способ сделать это?