Да, включения этой опции было достаточно, чтобы MemoryMax работал должным образом.
Использование pgrep
для получения идентификаторов PID всех процессов, соответствующих выражению, указанному в качестве первого аргумента, а затем циклическое перебор их для извлечения тех процессов, которые имеют хорошее значение, соответствующее второму аргументу.
find_pid_by_name_and_nice () {
pgrep -- "${1:?missing process name}" |
xargs -I {} ps -o pid= -o nice= -p {} |
awk -v nice="${2?missing nice value}" '$NF == nice { print $1 }'
}
Тестирование:
$ find_pid_by_name_and_nice
find_pid_by_name_and_nice:1: 1: missing process name
find_pid_by_name_and_nice:3: 2: missing nice value
$ find_pid_by_name_and_nice netdata
find_pid_by_name_and_nice:3: 2: missing nice value
$ find_pid_by_name_and_nice netdata 19
258881
258937
$ find_pid_by_name_and_nice netdata 15
(нет выхода)