-p 在 shell 脚本中起什么作用?

-p 在 shell 脚本中起什么作用?

shell 中的 -p [val] 是否以特定优先级启动进程?

答案1

-p中的选项与安全相关。它用于阻止shell读取用户控制的文件。bashksh

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

答案3

您需要使用nice它来在流程中添加或删除优先级。

/bin/nice -n NUM command-name

这样,您就添加了调度优先级。对于您的问题,我建议您查看本论坛页面

相关内容