我有一个buildroot inittab由busybox init运行以下条目。
::respawn:/sbin/abcd -C /tmp/abc.conf
如果我删除上面的一行并手动启动进程,"/sbin/abcd -C /tmp/abc.conf"
然后它被创建,并且只有一个示例。
但是使用inittab条目,它会继续生成abcd
进程的多个示例。
ps aux | grep abcd
1247 root /sbin/abcd -C /tmp/abc.conf
2223 root /sbin/abcd -C /tmp/abc.conf
2414 root /sbin/abcd -C /tmp/abc.conf
2503 root /sbin/abcd -C /tmp/abc.conf
2739 root /sbin/abcd -C /tmp/abc.conf
1条答案
按热度按时间bq3bfh9z1#
使用“-d”选项,它可以工作:
不知道为什么它工作。没有时间研究init行为
Update 1:如果进程以守护进程模式启动,init在第一次fork()后获取SIGCHLD并重新启动进程。如果在非守护进程模式下,init将bot获取SIGCHLD。