我使用以下命令给了sshd进程最高的优先级:
nice -n -20 /sbin/sshd
但是默认情况下它会给subprocess(/ bin / sh)赋予最高的优先级。 那么,是否有可能将正常优先级(0)赋予subprocess而不是最高优先级?
为什么优点值与进程优先级成反比?
unix中nice和setpriority的区别
假设这个sshd是OpenSSH v4.4或更新的版本,你可以通过设置/ etc / ssh / sshd_config中的ForceCommand选项来达到你想要的效果:
ForceCommand nice -n 0 $SSH_ORIGINAL_COMMAND
ForceCommand功能记录在这里 。 您还可以使用Match块(记录在同一位置)来修改某些端口,用户,IP地址等的行为。
主要的问题(文档中没有提到)是在执行初始化脚本之后(例如.bashrc等),ForceCommand运行在用户的shell上,所以在这些启动脚本完成之前,优先级降低将不会被应用(希望那些不是做任何计算密集的…)。
它不能把子过程的子进程设置为正常优先级,但是我们可以在父子代之前在代码中分配正常的优先级,这样我们就可以给子进程赋予正常的优先级。
请参阅setpriority以设置来自代码的任何进程的优先级
尝试使用niced shell命令解释器。
chsh -s "/usr/bin/nice -n 0 /bin/bash" username
用你最喜欢的shell替换bash。
这样做可能会得到意想不到的结果,因此请保留一个额外的会话作为恢复选项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。