我需要运行dosemu
与nice --20
从脚本。问题是:负值只能与 sudo 一起应用。
你知道有什么方法可以在nice
没有脚本的情况下运行命令sudo
或直接nice --20 dosemu
从脚本运行吗?
不幸的是,我认为这并不容易。
如果您的 dosmu 进程作为一个单独的用户运行,那么您可以使用 将那个用户的所有进程的优先级设置为负值/etc/security/limits.conf
。
编辑:愚蠢的我,你不能创建一个 suid shell 脚本,那是行不通的。
EDIT2:好的,您可以配置 sudo,以便在 sudo 组中的某个人运行 nice 或 renice 时不需要您提供密码。在终端窗口中,输入
sudo visudo
Run Code Online (Sandbox Code Playgroud)
这将打开一个简单的文本编辑器,用于编辑 sudo 的配置。在文件末尾添加以下行:
%sudo ALL = (ALL) NOPASSWD: /usr/bin/nice,/usr/bin/renice
Run Code Online (Sandbox Code Playgroud)
退出编辑器。编辑器将确保语法正确(否则可能会破坏系统)。现在,你可以运行
sudo nice -n -20 sudo -u $USER /some/program
Run Code Online (Sandbox Code Playgroud)
并且不会提示您输入密码。事实上,nice 将启动另一个名为 sudo 的进程,优先级为 -20。这个新的 sudo 进程将切换回您的原始用户(-u $USER
,否则您将以 root 身份运行 /some/program)并启动 /some/program。
归档时间: |
|
查看次数: |
7637 次 |
最近记录: |