У нас есть сценарий, который извлекает все активные процессы и убивает его. Но по какой-то причине я получаю ошибку ниже:Ошибка команды обнуления команды
:: INFO :: /AA/AAA/AAA/AAA/AAA/AAA/AAA/AAA \ Servers.sh :: 2016-06 -26: 04: 00: 04: FORCE KILLING ОСТАЛОСЬ SERVER ПРОЦЕССЫ
:: INFO :: /AA/AAA/AAA/AAA/AAA/AAA/AAA/AAA \ Servers.sh :: 2016- 06-26: 04: 00: 04: force_stop_managed_servers kill: usage \: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... или убить -l [sigspe \ с]
My Script имеет функцию ниже, чтобы заставить убить процессы.
function force_stop_managed_servers() {
printf "\n\n:: INFO :: $0 :: `date +%Y-%m-%d:%H:%M:%S` :force_stop_managed_servers called"
cd $SCRIPT_DIR
kill -9 $(ps -ef | grep SONARPOTY | grep $USER | grep -v "grep" | grep -v "StopManagedServers" | grep -v "controller"| awk '{ print $2 }')
printf "\n\n:: INFO :: $0 :: `date +%Y-%m-%d:%H:%M:%S` :force_stop_managed_servers done"
}
Пожалуйста, дайте мне знать, почему я получаю эту ошибку.
Попробуйте использовать 'set -x', и вы, вероятно, увидите, что' kill' получил неправильное обращение. (Кроме того, http://www.shellcheck.net покажет, что у вас есть другие потенциальные ошибки.) – Biffen
Убедитесь, что 'USER' не пуст, а также есть только один pid, полученный в результате большой команды. – Fazlin
@Fazlin: длинная команда НЕ вернет один идентификатор процесса. Он вернет несколько процессов. Можете ли вы предложить, каков недостаток, если он возвращает несколько процессов, а также возможное решение для преодоления этого? –