我有一个由 busybox init 运行的 buildroot inittab,其中包含以下条目。
::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
使用“-d”选项它可以工作:
::respawn:/sbin/abcd -d -C /tmp/abc.conf
不知道为什么它会起作用。没有时间探索 init 行为