Python:在运行headless时替代stdin()?
我通过sed和awk从hcitool和hcidump传递数据,然后通过管道将数据传输到python中,python然后从stdin读取数据。这在从命令行运行时效果很好。当放入shell程序并从命令行调用时,它同样可以很好地工作 然而,当我在启动时通过cron调用shell程序并运行headless时,python程序会执行,但sed | awk中没有任何内容流入python 我读过一些关于stdin可能不会无头传输的信息,但没有找到任何具体的信息Python:在运行headless时替代stdin()?,python,raspberry-pi,stdin,Python,Raspberry Pi,Stdin,我通过sed和awk从hcitool和hcidump传递数据,然后通过管道将数据传输到python中,python然后从stdin读取数据。这在从命令行运行时效果很好。当放入shell程序并从命令行调用时,它同样可以很好地工作 然而,当我在启动时通过cron调用shell程序并运行headless时,python程序会执行,但sed | awk中没有任何内容流入python 我读过一些关于stdin可能不会无头传输的信息,但没有找到任何具体的信息 我缺少什么?可以使用子流程而不是管道。使用she
我缺少什么?可以使用
子流程而不是管道。使用shell=True调用。或者类似的东西。管道|
是shell的一个功能,因此请确保在执行这些脚本之前运行shell。此外,当我在启动时通过cron调用shell程序并运行headless时,这真的没有任何意义。您不需要“启动时调用cron”(每隔一段时间自动调用),只有在运行X窗口或其他图形界面(与stdinstdin
)的情况下,“无头运行”才适用。实际上,cron可以通过@reboot在启动时执行命令,所以这部分是正常的。在这种情况下,“无头”指的是设备(RPi)在没有显示器、键盘和远程会话的情况下运行。我承认我在这里可能用错了词,但我不知道还能用什么来形容它。谢谢你的管道信息。我将根据前面的评论查看信息。