验证启动时进程组设置是否正确

验证启动时进程组设置是否正确

当我启动进程时,我通过执行以下操作来设置进程组:

sudo -g offline "/home/natral/apps/some-app/bin/app.sh" %f

进程运行后,如何验证其运行的用户和组的名称?我检查了一下ps aux,这会告诉我用户,但不会告诉我组。然后我尝试ps -eo uid,gid,args并设法找到GID,但如何验证GID确实是“离线”组?

答案1

如果您有 GID 值,getent group $GID则会返回有关 id$ID包含其名称的组的所有详细信息。

或者,您也可以getent group offline查看返回的数字是否是您在ps输出中看到的数字。

答案2

您可以使用usergroup代替uidgidps显示组和用户名而不是数字。当然,如果你有进程ID,你不需要浏览ps -e给你的整个列表,但可以使用这样的东西

$ ps -o pid,user,group,args -p "$pid"

或者如果您没有 PID,pgrep我们可以为您找到它:

$ ps -o pid,user,group,args -p $(pgrep -f app.sh)

但我怀疑sudo如果它无法将组 ID 设置为您想要的组 ID,则会出现错误。

相关内容