ВСЕГДА запускать команды с низким приоритетом на 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: ссылка обновлена.