2

当我进入运行级别时,我试图自动启动一个1进程init 1。它是一个看门狗,必须一直发送生命信号,因此也处于运行级别1!但是当1进入运行级别时,每个进程都会被杀死并且系统切换到运行级别S。我试图告诉 linux 以update-rc.d -f watchdog 99 1 S .. /etc/rc1.d/和中的结果条目/etc/rcS.d/是:

/etc/rc1.d/

.
.
.
S30killprocs -> ../init.d/killprocs
S90single -> ../init.d/single
S99watchdog -> ../init.d/watchdog
.
.
.

/etc/rcS.d/

.
.
.
S01glibc.sh -> ../init.d/glibc.sh
S02hostname.sh -> ../init.d/hostname.sh
S99watchdog -> ../init.d/watchdog
.
.
.

不幸的是,进入ps ax运行级别后1并没有返回我的看门狗进程。我必须手动启动它。

PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 init [S]
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00 [ksoftirqd/0]
    4 ?        S      0:00 [kworker/0:0]
    5 ?        S      0:00 [kworker/u:0]
    6 ?        S      0:00 [rcu_kthread]
    7 ?        S<     0:00 [khelper]
    8 ?        S      0:00 [kworker/u:1]
  104 ?        S      0:00 [sync_supers]
  106 ?        S      0:00 [bdi-default]
  108 ?        S<     0:00 [kblockd]
  119 ?        S      0:00 [khubd]
  219 ?        S      0:00 [kswapd0]
  220 ?        S      0:00 [fsnotify_mark]
  221 ?        S<     0:00 [aio]
  314 ?        S<     0:00 [scsi_tgtd]
  347 ?        S<     0:00 [kpsmoused]
  349 ?        S      0:00 [kworker/0:1]
  366 ?        S      0:00 [w1_bus_master1]
  390 ?        S      0:00 [mmcqd/0]
  395 ?        S      0:00 [jbd2/mmcblk0p2-]
  396 ?        S<     0:00 [ext4-dio-unwrit]
  475 ?        S      0:00 [flush-179:0]
 4532 ttyS0    Ss     0:00 init [S]
 4533 ttyS0    S      0:00 bash
 4536 ttyS0    R+     0:00 ps ax

我正在使用的系统是Debian GNU/Linux 5.0 debarm(嵌入式)。任何提示或解决方案?谢谢你。

4

2 回答 2

2

正如这里所说:

运行级别 1 称为“单用户”模式。更贴切的描述是“救援”或“故障排除”模式。在运行级别 1 中,不启动任何守护程序(服务)

您有多种选择来解决此限制:

  1. 不要使用运行级别 1,这不是它的用途
  2. 登录时启动看门狗(如果这是一个有效选项),例如.bashrc.
于 2013-02-12T15:17:37.097 回答
0

我通过添加以下行来解决它/etc/inittab

~~:S:wait:/etc/init.d/watchdog start
~~:S:wait:/sbin/sulogin

注意:必须在/sbin/sulogin.

于 2013-02-13T09:52:37.903 回答