当我启动进程时,我通过执行以下操作来设置进程组:
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
您可以使用user
和group
代替uid
和gid
来ps
显示组和用户名而不是数字。当然,如果你有进程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,则会出现错误。