ВСЕГДА запускать команды с низким приоритетом на Unix?
Я не спрашиваю, как создать команду в UNIX.
Случается так, что на конкретной машине, на которую я часто захожу, мне разрешено запускать только долго работающие процессы с низким приоритетом (хороший 19). Есть ли способ, чтобы все мои команды на этой машине выполнялись так, как если бы я их "подчинил"?
Неизбежно я забываю ставить перед командой префикс "nice 19", когда запускаю ее, затем мне нужно разобраться в ps / top, чтобы найти pid моего процесса перехвата ресурсов и затем перезапустить его. Слишком много проблем, и я рискую раздражать сисадмина; Есть ли способ сделать это по умолчанию?
большое спасибо! ~ л
4 ответа
Предполагая Bash, если ваша система поддерживает эту функцию, поместите ее в свой ~/.bashrc
или же ~/.profile
:
ulimit -e 19
Вы можете попробовать это сначала из командной строки в качестве теста.
Вы можете попросить своего системного администратора проверить корректирующий файл limit.conf, который является частью конфигурации PAM и находится (в моей системе Ubuntu) в /etc/security.
Линия как
@users hard priority 19
устанавливает по умолчанию "привлекательность" для процессов, запускаемых учетными записями пользователей.
Этот ответ предполагает, что ваша оболочка bash
,
Вместо того, чтобы копаться в ps
или же top
просто приостановите процесс (ы) с помощью Ctrl-z, если они не были запущены таким образом (через &
), а затем запустить jobs -l
чтобы получить pid, renice
этот pid, а затем продолжить выполнение задания с помощью bg
(для BackGround) или fg
(На первом плане).
Вы пробовали очень хорошо? Он немного староват, но все еще кажется программой, которая может подойти для ваших нужд.
Обновление 2019-02-06: ссылка обновлена.