Answers:
从技术上讲,它不是一个单一的进程,它的pid正在改变,而是旧的进程正在终止,而一个新进程正在开始。
为什么不尝试找到它的父进程id,例如使用ps -o pid,ppid,cmd -U root(它将在第二列)。可能有一个父进程正在启动所有其他进程。
在第一列中没有该进程的名称似乎很奇怪。例如ls -l /proc/<pid>/exe,/ proc目录中可能有更多线索cat /proc/<pid>/cmdline。还可以尝试不同的ps命令选项,例如ps -o pid,comm并ps -o pid,args打印不同的信息。(或者添加-U root或-p <pid>到这些命令。)
UPDATE
如果该过程没有名称,也许pgrep '^$'会列出它,那么你可以用它做任何你喜欢的事情,例如
pgrep '^$' | while read pid; do
ps -f $pid
ls -l /proc/$pid/cmdline
netstat -tlp | grep '\<'$pid'\>'
echo kill $pid # remove the echo after testing
done
如果pgrep '^$'没有列出任何内容,那么通常ps -o comm= -U root | od -c可以理解进程名称是什么,因此您可以使用pgrep仅查找具有该名称的进程。
如果这也失败了,请查看auditctl。
或者你编写一个运行ps两次的脚本并杀死只出现在第二次运行输出中的任何进程。
此外,如果它是其他人建议的rootkit,那么在您调查时将该计算机与互联网断开是个好主意。这样,它就无法将您的任何个人数据发送给其他人,也无法发送垃圾邮件或其他类似内容。
pstree会工作?
我的猜测是这个过程是某种rootkit的一部分。它故意不fork与旧的以硬牵制和发送信号一样非常频繁死亡SIGSTOP或SIGKILL到。它缺少一个名字的事实也指出了这种情况。
fork调用的方法,这个进程在最后10秒内至少进行了10次fork调用。或者只是拦截所有fork调用并批准它们或拒绝它们的方法。