Linux运行级别1:启动程序
当我通过Linux运行级别1:启动程序,linux,debian,runlevel,Linux,Debian,Runlevel,当我通过init 1进入运行级别1时,我试图自动启动一个进程。它是一个看门狗,必须始终发送生命信号,因此在运行级别1中也一样!但是当进入运行级别1时,每个进程都被终止,系统切换到运行级别S。我试图通过更新rc.d-f watchdog 99 1s来告诉linux启动我的进程。。/etc/rc1.d/和/etc/rcS.d/中的结果条目为: /etc/rc1.d/: . . . S30killprocs -> ../init.d/killprocs S90single -> ../in
init 1
进入运行级别1
时,我试图自动启动一个进程。它是一个看门狗,必须始终发送生命信号,因此在运行级别1
中也一样!但是当进入运行级别1
时,每个进程都被终止,系统切换到运行级别S
。我试图通过更新rc.d-f watchdog 99 1s来告诉linux启动我的进程。
。/etc/rc1.d/
和/etc/rcS.d/
中的结果条目为:
/etc/rc1.d/
:
.
.
.
S30killprocs -> ../init.d/killprocs
S90single -> ../init.d/single
S99watchdog -> ../init.d/watchdog
.
.
.
.
.
.
S01glibc.sh -> ../init.d/glibc.sh
S02hostname.sh -> ../init.d/hostname.sh
S99watchdog -> ../init.d/watchdog
.
.
.
/etc/rcS.d/
:
.
.
.
S30killprocs -> ../init.d/killprocs
S90single -> ../init.d/single
S99watchdog -> ../init.d/watchdog
.
.
.
.
.
.
S01glibc.sh -> ../init.d/glibc.sh
S02hostname.sh -> ../init.d/hostname.sh
S99watchdog -> ../init.d/watchdog
.
.
.
输入运行级别1
后的ps ax
不会返回我的看门狗进程。我必须手动启动它
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
PID TTY STAT TIME命令
1.SS0:00初始值[S]
2.s0:00[kthread]
3.S 0:00[ksoftirqd/0]
4.S 0:00[kworker/0:0]
5.南0:00[kworker/u:0]
6.s0:00[rcu_kthread]
7.S<0:00[khelper]
8.南0:00[kworker/u:1]
104 ? S 0:00[同步超级]
106 ? S 0:00[bdi默认值]
108 ? S<0:00[kblockd]
119 ? S 0:00[khubd]
219 ? S 0:00[kswapd0]
220 ? S 0:00[FSU标记]
221 ? S<0:00[aio]
314 ? S<0:00[scsi\u tgtd]
347 ? S<0:00[kps已用]
349 ? S 0:00[kworker/0:1]
366 ? S 0:00[w1_总线_master1]
390 ? 新加坡时间0:00[mmcqd/0]
395 ? S 0:00[jbd2/mmcblk0p2-]
396 ? S<0:00[ext4 dio Unwit]
475 ? S 0:00[flush-179:0]
4532 ttyS0 Ss 0:00初始值[S]
4533 ttyS0 S 0:00狂欢节
4536 ttyS0 R+0:00 ps ax
我正在使用的系统是Debian GNU/Linux 5.0 debarm
(嵌入式)。有什么提示或解决办法吗?谢谢。如前所述:
运行级别1称为“单用户”模式。更贴切的描述
将是“救援”或“故障排除”模式。在运行级别1中,否
守护进程(服务)已启动
您有几个选项可以绕过此限制:
.bashrc
我通过在
/etc/inittab
中添加以下行解决了这个问题:
~~:S:wait:/etc/init.d/watchdog start
~~:S:wait:/sbin/sulogin
注意:它必须在
/sbin/sulogin
之前,所以有办法启动它吗?看门狗进程非常重要,因为如果硬件看门狗无法识别任何生命信号,它将执行硬件重置。请编辑我的问题以添加备选方案。@Satish RedHat不是Debian,实际上它们处理运行级别的方式不同,因为(IIRC)RH基于SystemV运行级别,而Debian基于BSD运行级别。选项1不是选项。这两个选项都不是因为我需要它在登录提示下运行,而不是在我登录时运行。您没有指定为什么选项1不是选项。