linux 为其他用户查找ulimit -a

3gtaxfhh  于 2023-08-03  发布在  Linux
关注(0)|答案(4)|浏览(168)

有人知道在Linux中找到另一个用户的“ulimit -a”值的方法吗?我希望用户A能够检查用户B的ulimit值。假设用户A和用户B是非root用户。
提前致谢

hc8w905p

hc8w905p1#

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

su - www-data -c "ulimit -n"

字符串
没有目录,使用HOME=/登录
此帐户当前不可用。
您可以指定一个shell来解决这个问题:

su www-data --shell /bin/bash --command "ulimit -aH"


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

ugmeyewa

ugmeyewa2#

我建议:

grep 'open files' /proc/$( pgrep -o <some-user> )/limits

字符串
举例来说:

grep 'open files' /proc/$( pgrep -o memcache )/limits


您需要认识到pgrep -o将匹配最旧的进程;我猜就是他的父母

v8wbuo2f

v8wbuo2f3#

如果我理解正确的话,你想要实现以下内容...
假设我是root用户,我想找出为用户fred配置的软限制信息,方法如下:

su - fred -c "ulimit -Sa"

字符串
将返回所需的值。
或者,如果根据您的问题,您不是root用户,那么您可以使用sudo,如果需要,在执行时注入必要的密码,如下所示

echo "freds password" | sudo -Siu fred ulimit \-Sa

kognpnkq

kognpnkq4#

为用户选择一个流程并确定您的限制:

return-limits(){
  for process in $@; do
    process_pids=`pgrep $process`

    if [ -z $@ ]; then
      echo "[no $process running]"
    else
      for pid in $process_pids; do
        echo "[$process #$pid -- limits]"
        cat /proc/$pid/limits
      done
    fi
  done
}

return-limits mongod

字符串

相关问题