为其他用户找到ulimit -a

gr8*_*ven 7 linux monitoring ulimit

是否有人知道在Linux中为另一个用户找到"ulimit -a"值的方法?我希望用户A能够检查用户B的ulimit值.假设是用户A,用户B是非root用户.

提前致谢

小智 9

Pancho的答案是正确的,但有时你可能会得到这样的错误:

su - www-data -c "ulimit -n"
Run Code Online (Sandbox Code Playgroud)

无目录,使用HOME=/登录

该帐户当前不可用。

您可以指定一个 shell 来克服这个问题:

su www-data --shell /bin/bash --command "ulimit -aH"
Run Code Online (Sandbox Code Playgroud)

-aH给你硬限制,-aS给你软限制)


Ren*_*ich 7

我会建议:

grep 'open files' /proc/$( pgrep -o <some-user> )/limits
Run Code Online (Sandbox Code Playgroud)

例如:

grep 'open files' /proc/$( pgrep -o memcache )/limits
Run Code Online (Sandbox Code Playgroud)

您需要意识到 pgrep -o 将匹配最旧的进程;我认为,这是父母。


Pan*_*cho 6

如果我理解正确,您希望实现以下目标...

假设我是root,想找出用户fred配置的软限制信息,方法如下:

su - fred -c "ulimit -Sa"
Run Code Online (Sandbox Code Playgroud)

将返回所需的值。

或者,如果根据您的问题,您不是 root,那么您可以使用 sudo,如果需要,请在执行时注入必要的密码,如下所示

echo "freds password" | sudo -Siu fred ulimit \-Sa
Run Code Online (Sandbox Code Playgroud)