1

我写了一个最后执行的初始化脚本,它将启动一些 pythjon 脚本。Python 脚本只会运行并且永远不会终止,这使我的小 linux 盒子(tty 上的 getty 终端)只输出脚本,但永远不会出现登录提示。我犯了一个错误,没有分配修复IP,所以我基本上不得不重新开始(将初始构建重新下载到闪存上)。但是现在我想知道我有什么不同的可能性,在我的初始化脚本中以 & 结尾是否足以启动脚本,或者我需要一个 nohup/ 解决这个问题的最佳方法是什么?

谢谢!罗恩

4

2 回答 2

2

我通过将脚本的输出定向到 /dev/null 并在末尾添加一个 & 符号来解决这个问题

myscript.sh > /dev/null &

这会将控制权返回给 shell 并继续在后面执行脚本而不将结果报告给标准输出。

于 2012-06-26T18:30:06.980 回答
0

是的,您需要确保您的 init 启动脚本返回。最好遵循LSB 文档并拥有一个脚本,该脚本不包括启动、停止、状态等标准操作,并使其返回正确的返回码。

在命令末尾使用 & 在后台启动 python 脚本就足够了。您可能还想查看start-stop-daemon启动进程的命令。

于 2012-06-08T20:42:36.940 回答