#bash
#bash
Вопрос:
Мне нужно написать сценарий для изменения хорошего значения процесса на новое значение и процесса, который нужно изменить, учитывая мою командную строку как таковую:
$ bash script.sh 'cat' 15
Я пытался сделать что-то вроде этого:
$ pidof $1 | nice -$2 $1
но это не сработало, и теперь я совсем потерялся, так как я новичок в этом деле. Любая помощь приветствуется.
Комментарии:
1. Вы ищете man 1 renice . Обратите внимание, вам могут потребоваться повышенные привилегии (например, root) для
renice
процессов, отличных от ваших собственных. Вы должны проверитьpidof
возвращенный действительный PID перед вызовомrenice
со значением. Например.pidof "$1"; if [ "$?" -eq 1 ]; then printf "error: no process found.n" >amp;2; exit 1; fi
или простоpidof "$1" || exit 1
2.
nice
ничего не считывает из стандартного ввода, поэтому передача текста вnice
— илиrenice
— не будет полезной. Возможно, вы хотитеpidof "$1" | xargs renice -"$2"
или, примерно эквивалентно,renice -"$2" "$(pidof "$1")"