У нас есть скрипт, который извлекает все активные процессы и убивает их. Но по какой-то причине я получаю следующую ошибку:
:: INFO :: /AA/AAA/AAA/AAA/AAA/AAA/AAA/AAA\ Servers.sh :: 2016-06-26:04:00:04 : ПРИНУДИТЕЛЬНОЕ УБИЙСТВО ОСТАВШИХСЯ ПРОЦЕССОВ СЕРВЕРА
:: ИНФОРМАЦИЯ :: /AA/AAA/AAA/AAA/AAA/AAA/AAA/AAA\ Servers.sh :: 2016-06-26:04:00:04 :force_stop_managed_servers вызвал kill: использование\ : kill [-s sigspec | -n сигнум | -sigspec] pid | спецификация задания ... или kill -l [sigspe\ c]
Мой сценарий имеет функцию ниже, чтобы принудительно убить процессы.
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
вызывается неправильно. (Кроме того, shellcheck.net покажет, что у вас есть другие потенциальные ошибки.) - person Biffen   schedule 27.06.2016$USER
не пусто, а также что в результате выполнения большой команды возвращается только один pid. - person Fazlin   schedule 27.06.2016kill
не работает с несколькими pid.s в качестве аргумента. Возможно, вам придется использовать цикл. - person Fazlin   schedule 28.06.2016pkill -9 -u $USER 'pattern1|pattern2|pattern3'
? - person alvits   schedule 11.07.2017