gpt4 book ai didi

linux - 如何知道进程是bash,linux中的用户还是root

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:27:47 24 4
gpt4 key购买 nike

我需要知道进程是否来自用户。我正在使用这段代码:

#c is the PID
Aid=$(cat /proc/$c/status | grep -e ^Uid)
Uid="Uid: 0 0 0 0"
if [ "$Aid" != "$Uid" ]; then
echo "is from user"
fi

但我对字符串中的“制表符”不太满意,我认为这可能会导致一些意外行为。

还有其他方法吗?

最佳答案

使用ps -o uid= -p $pidhere 无需解析即可获取某个pid的UID:

mypid=1
if uid=$(ps -o uid= -p "$mypid")
then
if [[ $uid -eq 0 ]]
then
echo "The process runs as root"
else
echo "The process runs as something else"
fi
else
echo "The process doesn't exist"
fi

关于linux - 如何知道进程是bash,linux中的用户还是root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32937715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com