shell 中的 -p [val] 是否以特定优先级启动进程?
答案1
和-p
中的选项与安全相关。它用于阻止shell读取用户控制的文件。bash
ksh
这bash
手册说:
使用不一致的有效和实际 uid/gid 进行调用
如果 Bash 启动时的有效用户(组)ID 不等于实际用户(组)ID,并且
-p
未提供该选项,则不会读取任何启动文件,不会从环境中继承 shell 函数,如果 SHELLOPTS、BASHOPTS、CDPATH 和 GLOBIGNORE 变量出现在环境中,则它们将被忽略,并且有效用户 ID 设置为实际用户 ID。如果-p
在调用时提供了该选项,则启动行为相同,但不会重置有效用户 ID。
手册ksh
上说:
如果
-p
使用该选项,或者实际用户 ID 或组 ID 与有效用户 ID 或组 ID 不匹配,则 shell 具有特权(请参阅 getuid(2)、getgid(2))。特权 shell 不处理 $HOME/.profile 或 ENV 参数(请参阅下文),而是处理文件 /etc/suid_profile。清除特权选项会导致 shell 将其有效用户 ID(组 ID)设置为其实际用户 ID(组 ID)。
答案2
使用好的运行具有修改的调度优先级的程序
和雷尼塞改变正在运行的进程的优先级
renice 16 -p 113344
将 Pid 为 113344 的进程的优先级更改为 16