Условное убийство процесса с помощью awk
Привет ребята,
Я пытаюсь объединить пару команд awk, и мне не везет. Идея состоит в том, чтобы убить процесс, если в течение определенного периода времени было меньше определенного количества загрузочного трафика.
Любая помощь будет оценена по достоинству.
Что я уже пробовал:
Я могу получить следующее, Чтобы правильно найти PID запущенного процесса qbittorrent:
echo $( ps aux | grep "[q]bittorrent" | awk '{ print $2 }' )
И следующее скажет мне, была ли низкая активность загрузки в течение последних нескольких секунд:
collectl -c1 -i5 -sn | awk 'NF==4 && $2<200 { print $1 }'Выходные данные - это объем КБ, загруженный за последние 5 секунд.
Теперь я хочу объединить их - заменив
print $1
во второй команде с "убить" следует вывод первой команды.Я попробовал несколько вариантов, таких как
sudo $( collectl -c1 -i5 -sn | awk 'NF==4 && $2<20 { print "kill " $( ps aux | grep "[q]bittorrent" | awk '{ print $2 }' ) }' )но безрезультатно.