Я пишу скрипт оболочки, который закрывает некоторые службы, и пытаюсь получить его pid
, используя следующий скрипт awk
.
Однако этот скрипт awk не может получить pid
. Что с этим не так?
ps -ef | awk -v port_no=10080 '/[m]ilk.*port=port_no/{print $2}'
Результат ps -ef
выглядит следующим образом:
username 13155 27705 0 16:06 pts/2 00:00:00 /home/username/.rbenv/versions/2.3.6/bin/ruby /home/username/.rbenv/versions/2.3.6/bin/milk web --no-browser --host=example.com --port=10080
Этот процесс также работает с другим аргументом порта, поэтому я хочу убить процесс, работающий только на port=10080
.
Сценарий awk
, приведенный ниже, работает нормально, но когда я указываю порт без использования awk -v
, как указано выше, он не работает хорошо.
ps -ef | awk '/[m]ilk.*port=10080/{print $2}'
awk версия: GNU Awk 4.0.2