Linux中的启动服务正在运行两次

当我重启我的Ubuntu 10.04 32位机时,所有启动服务都启动两次。

启动过程如下所示:

Starting apache2 Starting apache2 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs Done Done * Starting MySQL database server mysqld * Starting MySQL database[ OK ] * Starting nsd3... * Starting nsd3... [ OK ] * Starting Postfix Mail Transport Agent postfix * Starting Postfi[ OK ] Transport Agent postfix [ OK ] * Starting NTP server ntpd * Starting NTP server ntpd [ OK ] Starting daemon monitor: monit. 

我检查了我没有重复的启动链接,如果我做了一个update-rc.d -f mysql remove然后重新启动mysql根本不启动,重新添加它仍然是启动两次。

我的日志中唯一的东西是关于一切开始两次的警告。

有没有人看过这个或有线索在哪里戳,找出是什么原因造成的?

我想你的系统可能会经历两个运行级别并在每个执行启动脚本。

首先我看看/etc/rc2.d – 并删除所有的开始符号链接,看看是否有效。

使用“runlevel”命令查看您当前正在运行的是哪个运行级别。

发现问题,我有一个/etc/init/rc.conf的副本,所以暴发户运行两次/etc/init.d/rc。

我在gentoo中遇到过这个问题,对我来说,结果是我在linux上使用sh shell在debugging模式下在后台运行一个烧瓶应用程序,该软件导致烧瓶的两个实例运行。 一个解决scheme是closuresdebugging模式,解决了我的问题。 慢指责linux内部的问题,往往问题在我们的代码中。 简化你的代码来做更复杂的工作,你可以找出问题。

如果你仍然认为linux操作系统的内核是怪罪的话,那么检查你的启动脚本是否在你的/etc/runlevels/boot , /etc/runlevels/default/etc/init.d目录中重复。 您可以检查具有相同名称的文件。 如果存在,则从/etc/runlevels/boot移出/etc/runlevels/default那些。