在 rc.d 中启动应用程序会导致终端冻结

在 rc.d 中启动应用程序会导致终端冻结

我有一个使用标准输入和标准输出的应用程序。我希望这个应用程序在所有后台守护进程运行后尽快开始运行。

我在嵌入式系统上使用openwrt,使用scp和serial与其进行通信。

我创建了一个 init.d 脚本,它只是启动应用程序,start=99。

当我启动设备时,在它到达终端后,它只是挂在串行外壳上,但是我可以通过 scp 连接。无论哪种情况,应用程序都没有启动。

是否有正确的方法来启动使用 stdin 和 stdout 的应用程序,以便在操作系统完成启动后启动更正?

答案1

您不应该将 stdin 用于终端,因为它会阻止单模式运行级别,例如等待用户在其 tty 上输入。您可以从任何其他非终端软件应用程序使用标准输入。

但是为什么你使用终端作为用户输入呢?

相关内容