Запустить часть команды с помощью sudo [duplicate]

У этого вопроса уже есть ответ здесь: Как я могу использовать команду в скрипте без запроса пароля? 5 ответов

Я хочу создать привязку клавиш Ctrl + Alt + Delete на моем компьютере Ubuntu. Он должен открыть htop, но я хочу для него максимальный приоритет. Я использую эту команду.

xterm -fullscreen -fa 'Monospace' -fs 13 -e htop

Он работает хорошо, но когда я добавляю приоритет, ему нужны права root

$ nice -n -20 xterm -fullscreen -fa 'Monospace' -fs 13 -e htop nice: cannot set niceness: Permission denied

Когда я использую sudo, он работает, но он выполняет всю команду как root. Как я могу запустить только nice с sudo? Было бы идеально, если бы он не запрашивал пароль.

1
задан 13 August 2017 в 23:10

2 ответа

Вы можете использовать nice на существующих PID с renice

. Запустите терминал как обычно

$ sudo renice -n -20 -p HTOP_PID

Если вы используете разные оболочки / windows для этого, вы можете найти pid ps -A | grep htop, существует множество способов извлечения ПИД из вывода программно, что позволит скриптам справляться с этим.

В противном случае вы могли бы, как было предложено в комментарии, выполнить

sudo nice -n -20 su USER htop вместо прямого htop

1
ответ дан 18 July 2018 в 08:53

Вы можете использовать nice на существующих PID с renice

. Запустите терминал как обычно

$ sudo renice -n -20 -p HTOP_PID

Если вы используете разные оболочки / windows для этого, вы можете найти pid ps -A | grep htop, существует множество способов извлечения ПИД из вывода программно, что позволит скриптам справляться с этим.

В противном случае вы могли бы, как было предложено в комментарии, выполнить

sudo nice -n -20 su USER htop вместо прямого htop

1
ответ дан 24 July 2018 в 19:11

Другие вопросы по тегам:

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