Завершать процессы, только если определенное количество PID соответствует критериям

awkрешение. Подозреваю, что это немного длинно -затянуто.

$ awk 'BEGIN{RS="|"}NF>1{print substr(gensub(/\n/,",","g"),2,length($0)-2)}' file
9000,3000,1000,0000,0000,2000,1000,2000
5669000,518000,3000,16000,0000,28000,2241000,2841000
9020000,453000,520000,4000,2852000,5191000,75000
$

Попробуйте онлайн!

2
25.06.2021, 18:12
1 ответ
... | awk '
$2 >= 98 {c++; m[$1]} 
END { if (c >=2 ) for(i in m) print i }' | xargs -r kill -9

Сохраните процесс, сжигающий много ресурсов в массиве, и распечатайте их только в том случае, если более nпроцессов превышают пороговое значение, в противном случае не печатайте ничего.

Опция -rпредписывает xargsзавершить работу без выполнения команды, если аргумент не задан. В противном случае выполните kill.

2
28.07.2021, 11:22

Теги

Похожие вопросы