问题
有不知名程序会莫名其妙地一直执行/bin/sh -c sleep 100命令。kill掉 sleep 进程,隔几分钟又会重新起来。通过ps命令查看这个 sleep 的父进程时,却是为 1 的根进程。
解决
可临时把 /bin/sleep 换成包装脚本,把调用栈写到文件:
mv /bin/sleep /bin/sleep.bin
cat >/bin/sleep <<'EOF'
#!/bin/sh
echo "$(date) sleep called by PPID=$PPID, CMD=$(ps -p $PPID -o cmd=)" >>/tmp/sleep.call
exec /bin/sleep.bin "$@"
EOF
chmod +x /bin/sleep
在/tmp/sleep.call 文件中,下次触发就能看见完整父进程命令行。
评论