在 unix 上总是运行低优先级的命令?

在 unix 上总是运行低优先级的命令?

我不是在问如何友善和反友善UNIX 上的命令。

实际情况是,在我经常登录的某台机器上,我只被允许运行低优先级(nice 19)的长时间运行的进程。有没有办法让这台机器上的所有命令都像我给它们设置了“niced 19”一样运行?

启动命令时,我难免会忘记在命令前加上“nice 19”,然后需要在 ps/top 中四处寻找,找到占用大量资源的进程的 pid,然后重新设置它的优先级。这太麻烦了,而且我冒着惹恼系统管理员的风险;有没有办法默认执行此操作?

非常感谢!~l

答案1

假设 Bash,如果您的系统支持此功能,请将其放在您的~/.bashrc或中~/.profile

ulimit -e 19

您可以先从命令行尝试一下,作为测试。

答案2

您可以要求系统管理员查看调整 limits.conf,它是 PAM 的一部分,位于(在我的 Ubuntu 系统上)/etc/security 中的配置文件。

@users hard priority 19

设置用户账户启动的进程的默认“优良性”。

答案3

这个答案假设你的 shell 是bash

不需要在ps或中乱搞top,如果进程不是通过 启动的,只需使用 Ctrl-z 暂停进程&,然后运行jobs -l以获取 pid,该 pid,然后通过(对于 BackGround)或(ForeGround)renice继续执行作业。bgfg

答案4

你有没有尝试过很不错? 虽然它有点旧,但仍然似乎是一款能够满足您需求的程序。

更新2019-02-06:链接已更新。

相关内容