我在运行 Ubuntu server 21.04 的 pi4 上出现了奇怪的行为。它运行正常,但过了一会儿,我可以看到一个进程在几个小时内运行了 100% 的 CPU,如果我等待更长时间,就会有 2、3……其他进程运行 100% 的 CPU。它们似乎是由 cron 作业启动的(来自家庭自动化 Jeedom),但这不是我的问题。
奇怪的是我无法杀死它们,即使使用 root 用户使用 kill -9 也无法杀死它们。该进程正在运行 R,但没有响应。
#ps aux | grep 46149
www-data 46149 99.7 0.0 2040 80 ? R Oct04 633:33 sh -c (ps ax || ps w) | grep -ie "cron_id=7$" | grep -v "grep"
#sudo kill -9 46149
#ps aux | grep 46149
www-data 46149 99.7 0.0 2040 80 ? R Oct04 633:36 sh -c (ps ax || ps w) | grep -ie "cron_id=7$" | grep -v "grep"
在这个例子中,被阻塞的进程是“ps”,但这并不总是相同的。如果关闭 pi 的电源,它会正常重启,但一段时间后会出现另一个被阻塞的进程。我需要关闭电源,因为“重启”不起作用。
编辑:使用“ps axjf”查看进程树
1 7317 7317 1799 ? -1 Sl 0 0:56 /usr/bin/containerd-shim-runc-v2 -namespace moby -id bf40089312cdb1d7707096fe6fc46520c7c1a17a70eac305473761976c1f4b7d -address /run/cont
7317 7337 7337 7337 ? -1 Ss 0 1:12 \_ /usr/bin/python2 /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
7337 7391 7391 7337 ? -1 S 0 0:02 | \_ /usr/sbin/cron -f -L4
7391 104917 7391 7337 ? -1 S 0 0:00 | | \_ /usr/sbin/CRON -f -L4
104917 104919 104919 104919 ? -1 Ss 0 0:00 | | | \_ /bin/sh -c /usr/bin/php /var/www/html/core/php/watchdog.php >> /dev/null
104919 104920 104919 104919 ? -1 R 0 1521:41 | | | \_ /bin/sh -c /usr/bin/php /var/www/html/core/php/watchdog.php >> /dev/null
7391 395309 7391 7337 ? -1 S 0 0:00 | | \_ /usr/sbin/CRON -f -L4
395309 395312 395312 395312 ? -1 Ss 33 0:00 | | \_ /bin/sh -c /usr/bin/php /var/www/html/core/php/jeeCron.php >> /dev/null
395312 395313 395312 395312 ? -1 S 33 0:00 | | \_ /usr/bin/php /var/www/html/core/php/jeeCron.php
395313 395341 395312 395312 ? -1 S 33 0:00 | | \_ sh -c (ps ax || ps w) | grep -ie "cron_id=4$" | grep -v "grep"
395341 395344 395312 395312 ? -1 R 33 109:29 | | \_ sh -c (ps ax || ps w) | grep -ie "cron_id=4$" | grep -v "grep"
7337 7392 7392 7337 ? -1 S 1 0:00 | \_ /usr/sbin/atd -f
7337 8613 8613 7337 ? -1 Sl 0 6:16 | \_ /usr/bin/python3 /usr/bin/fail2ban-server -fc /etc/fail2ban/
7337 11223 10184 10184 ? -1 S 33 0:08 | \_ php /var/www/html/core/class/../php/jeeCron.php cron_id=452778
7337 18465 18465 18465 ? -1 SNs 0 0:08 | \_ /usr/sbin/apache2 -k start
18465 168788 18465 18465 ? -1 SN 33 0:48 | | \_ /usr/sbin/apache2 -k start
18465 354445 18465 18465 ? -1 SN 33 0:27 | | \_ /usr/sbin/apache2 -k start
18465 356077 18465 18465 ? -1 SN 33 0:24 | | \_ /usr/sbin/apache2 -k start
18465 356301 18465 18465 ? -1 SN 33 0:25 | | \_ /usr/sbin/apache2 -k start
18465 362824 18465 18465 ? -1 SN 33 0:16 | | \_ /usr/sbin/apache2 -k start
18465 364208 18465 18465 ? -1 SN 33 0:14 | | \_ /usr/sbin/apache2 -k start
18465 366422 18465 18465 ? -1 SN 33 0:12 | | \_ /usr/sbin/apache2 -k start
18465 366848 18465 18465 ? -1 SN 33 0:12 | | \_ /usr/sbin/apache2 -k start
18465 367416 18465 18465 ? -1 SN 33 0:10 | | \_ /usr/sbin/apache2 -k start
18465 367576 18465 18465 ? -1 SN 33 0:11 | | \_ /usr/sbin/apache2 -k start
18465 405605 18465 18465 ? -1 SN 33 0:03 | | \_ /usr/sbin/apache2 -k start
7337 18824 18465 18465 ? -1 SN 33 174:59 | \_ php /var/www/html/core/class/../php/jeeCron.php cron_id=301554
7337 35774 18465 18465 ? -1 SNl 33 0:31 | \_ node /var/www/html/plugins/alexaapi/resources/alexaapi.js http://app_jeedom amazon.fr alexa.amazon.fr OtAkaDFZj3YlSEQg6T1VGk8Jq8
7337 44738 44738 44738 ? -1 SNs 106 0:00 | \_ /usr/bin/dbus-daemon --system
7337 44767 44766 44766 ? -1 SN 107 1:13 | \_ avahi-daemon: running [bf40089312cd.local]
44767 44768 44766 44766 ? -1 SN 107 0:00 | | \_ avahi-daemon: chroot helper
7337 45616 18465 18465 ? -1 SNl 33 4:20 | \_ homebridge
45616 45664 18465 18465 ? -1 SNl 33 2:10 | | \_ homebridge-config-ui-x
7337 46149 46102 46102 ? -1 R 33 1931:04 | \_ sh -c (ps ax || ps w) | grep -ie "cron_id=7$" | grep -v "grep"
7337 407386 18465 18465 ? -1 RN 33 0:00 | \_ php /var/www/html/core/class/../php/jeeListener.php listener_id=2 event_id=379484 value='1310' datetime='2021-10-06 06:36:25'
7317 22607 22607 22607 ? 22607 Ss+ 0 0:00 \_ /bin/bash
编辑
我尝试杀死父进程:除了父进程和被阻止的进程(这次是 2 个进程,父进程相同),进程树的每一层都被杀死了。现在我有
root 5790 0.0 0.0 0 0 ? Ss Oct09 0:14 \_ [sh]
www-data 267740 99.4 0.0 2040 84 ? RN 05:05 1032:49 \_ sh -c ps ax | grep "resources/alexaapi.js" | grep -v "grep" | wc -l HOME=/var/www LOGNAME=www-data PATH=/usr/bin:/bin SHELL=/bi
www-data 357120 99.5 0.0 2040 80 ? RN 14:00 501:07 \_ sh -c (ps ax || ps w) | grep -ie "cron_id=469432$" | grep -v "grep" HOME=/var/www LOGNAME=www-data PATH=/usr/bin:/bin SHELL=/bin
使用‘ps-ef’:
root 5790 5760 0 Oct09 ? 00:00:14 [sh]
www-data 267740 5790 99 Oct10 ? 1-01:58:16 sh -c ps ax | grep "resources/alexaapi.js" | grep -v "grep" | wc -l
www-data 357120 5790 99 Oct10 ? 17:06:33 sh -c (ps ax || ps w) | grep -ie "cron_id=469432$" | grep -v "grep"