У меня есть очень простой скрипт Bash. Цель этого сценария bash - получить параметр номера порта и завершить все процессы, запущенные на этом порту.
#!/bin/bash
PID_NUMBER=$(netstat -a -n -b -o | grep $1 | sed -e "s/[[:space:]]\+/ /g" | cut -d ' ' -f5)
echo "$PID_NUMBER"
taskkill /F /PID "$PID_NUMBER"
Тем не менее, запуск сценария bash в Cygwin правильно отображает PID_NUMBER, но выдает «ERROR: Invalid query» для taskkill
Выход:
$ ./KillProcessesAtPort.sh 546
1540
ERROR: Invalid query
Если я запускаю «taskkill /F /PID 1540» в Cygwin, процесс успешно завершается.
$ taskkill /F /PID 1540
SUCCESS: The process with PID 1540 has been terminated.
Я запускаю этот скрипт в Windows 10 на терминале Cygwin. Почему мой скрипт выдает ОШИБКУ для taskkill, тогда как просто выполнение taskkill в Cygwin работает?