可疑的 pgrep 在 debian bullseye 上以 root 用户身份运行

可疑的 pgrep 在 debian bullseye 上以 root 用户身份运行

我的笔记本电脑上有相当多的风扇活动,甚至机器应该处于空闲状态。当我查看我的进程时,偶尔top会出现一个进程,占用一些 CPU。pgrep它运行为root。有谁知道这是做什么用的?这是需要注意的事情,还是只是一个正常的系统例程?

在此输入图像描述

  Operating System: Debian GNU/Linux bullseye/sid
            Kernel: Linux 5.6.0-2-686-pae
      Architecture: x86

我运行一个while true; do pgrep -au root | grep pgrep; done循环来查看它何时启动。看起来log像这样:

22713 pgrep -n startx
22713 pgrep -n startx
22767 pgrep -n startx
22767 pgrep -n startx[...]

有什么方法可以看到启动该过程的原因吗?


更新:运行脚本从@hauke-laging我可以看到这/etc/acpi/power.sh似乎是父进程:

-------------------------
10359 10358 root     root     pgrep -n startx
parent process:
10358  5645 root     root     /bin/sh /etc/acpi/power.sh

这里是:

#!/bin/sh

test -f /usr/share/acpi-support/key-constants || exit 0

. /usr/share/acpi-support/power-funcs
. /usr/share/acpi-support/policy-funcs

if { CheckPolicy || CheckUPowerPolicy; }; then
    exit
fi

cat /usr/share/acpi-support/power-funcs | grep pgrep 我们开始吧:

startx=$(pgrep -n startx || :)

答案1

将变量更改awkrootpgrep

$ /bin/ps -eo pid,ppid,user,euser,args |
    awk -v user=hl -v procname=kwalletd5 '{ a[$1]=$0; }; '\
'( $3==user || $4==user ) && $5 ~ procname '\
'{ print "-------------------------"; print; print "parent process:"; print a[$2]; }'

-------------------------
 4730  2725 hl       hl       /usr/bin/kwalletd5
parent process:
 2725     1 hl       hl       /usr/lib/systemd/systemd --user
-------------------------
30655     1 hl       hl       /usr/bin/kwalletd5
parent process:
    1     0 root     root     /usr/lib/systemd/systemd --switched-root --system --deserialize 31

相关内容