我在这里有一个 Apache 问题。
在我作为开发人员的整个职业生涯中,我一直像这样重新启动 Apache:
sudo /etc/init.d/apache2 restart
Run Code Online (Sandbox Code Playgroud)
我今天刚刚部署了我的第一个 Rails 应用程序,但是我无法让 Apache 在主机上重新启动。当我以这种方式尝试时,Apache 会尝试重新启动,但最终会挂起。
然而,这工作得很好:
sudo apachectl restart
Run Code Online (Sandbox Code Playgroud)
这两种技术有什么区别?我曾假设后者充其量只是第一个的“语法糖”,但事实并非如此,因为后者有效而前者无效。
如果它是相关的(我怀疑它可能是相关的),这个 Rails 应用程序使用 Phusion Passenger。我之前的开发经验(前一种方法工作正常)主要是使用 PHP。我对 Rails 很陌生。
有问题的服务器运行 Ubuntu 11.04 (Natty)。
我正在 Amazon EC2 微型实例上运行一些基本服务器(基于 Ubuntu 11.04),其目的只是为了协调几个网络服务器的活动。这台机器运行了几个星期,但现在经常挂起,其 CPU 红线为 100%。
我通过 SSH 登录到机器并运行了一个top
,这表明该landscape-sysinfo
过程是消耗所有系统资源的肇事者。一pstree
发现它是位于:
init???atd ??cron ??dhclient3 ??dovecot???2*[dovecot-auth] ? ??3*[imap-登录] ? ??3*[pop3-login] ??6*[盖蒂] ??master???pickup ? ??qmgr ??mountall ??mysqld???11*[{mysqld}] ??rsyslogd???3*[{rsyslogd}] ??sshd???sshd???sshd???bash ? ??sshd???sshd???bash???top ? ??sshd???sshd???bash???pstree ? ??sshd???sh???run-parts???50-landscape-sy???landscape-sys+ ??udevd???2*[udevd] ??新贵插座- ??新贵-udev-br ??vsftpd
违规进程在此处列为 的最后一个子进程sshd
。如果我手动 kill landscape-sysinfo
,机器将恢复正常 - 直到该过程自发重新生成,通常是几分钟后。(我可以“担保”sshd
上面树中的其他进程。它们是合法的。)
我不知道为什么landscape-sysinfo
会随机产卵。我加倍不知道为什么它是sshd
.
显然,我对在我的机器上运行一个我无法解释的 SSH 进程感到非常兴奋。最初我担心漏洞/特洛伊木马/后门,所以我跑了chkrootkit
和rkhunter
,但它们都干净利落。
有没有人知道是什么导致这个过程疯狂?关于如何阻止它重生的任何想法?