-1
Я пытаюсь создать простой скрипт bash, который убьет конкретный Java-процесс. JPS, как представляется, наиболее подходящим кандидатом, так что я быстро написал:Bash Убить Java-процесс с использованием JPS
jps | grep my_process_name | awk '{print $1}'
В терминале это прекрасно работает, и я получаю обратно PID
процесса Java my_process_name
. Однако, когда я положил, что в быстрый сценарий как это:
stop_app() {
echo 'Stopping running service...'
PID=jps | grep halo | awk '{print $1}'
kill -9 ${PID}
}
Мои PID
кажется пустым! Есть идеи?
Использовать подстановку команд для сохранения вывода команды переменной: 'PID = $ (jps | grep halo | awk '{print $ 1}')' – user000001
Обратите внимание, что это достаточно: 'PID = $ (jps | awk '/halo/{print $ 1} ') '. Не нужно использовать 'grep' между ними. – fedorqui