Что делает -p в скрипте оболочки?

Что делает -p в скрипте оболочки?

Запускает ли команда -p [val] из оболочки процесс с определенным приоритетом?

решение1

Опция -pв bashи kshсвязана с безопасностью. Она используется для предотвращения чтения оболочкой файлов, контролируемых пользователем.

Thebashв руководстве говорится:

Вызывается с неравными эффективными и реальными uid/gid

Если Bash запущен с эффективным идентификатором пользователя (группы), не равным реальному идентификатору пользователя (группы), и эта -pопция не указана, файлы запуска не считываются, функции оболочки не наследуются из среды, переменные SHELLOPTS, BASHOPTS, CDPATH и GLOBIGNORE, если они появляются в среде, игнорируются, а эффективный идентификатор пользователя устанавливается равным реальному идентификатору пользователя. Если эта опция -pуказана при вызове, поведение при запуске такое же, но эффективный идентификатор пользователя не сбрасывается.

В kshруководстве говорится:

Оболочка является привилегированной, если -pиспользуется опция или если реальный идентификатор пользователя или группы не совпадает с эффективным идентификатором пользователя или группы (см. getuid(2), getgid(2)). Привилегированная оболочка не обрабатывает $HOME/.profile и параметр ENV (см. ниже), вместо этого обрабатывается файл /etc/suid_profile. Очистка привилегированной опции заставляет оболочку установить свой эффективный идентификатор пользователя (group-id) на свой реальный идентификатор пользователя (group-id).

решение2

Использоватьхорошийдля запуска программы с измененным приоритетом планирования

иРеницедля изменения приоритета запущенных процессов

renice 16 -p 113344

изменить приоритет процесса с Pid 113344 на 16

решение3

Вам необходимо использовать niceдля добавления или удаления приоритета из ваших процессов.

/bin/nice -n NUM command-name

Таким образом вы добавляете приоритет планирования. По вашему вопросу предлагаю посмотретьэта страница форума.

Связанный контент