运行 来自终端的固定时间的 python 模块

Running a python module for fixed time from terminal

正在从终端使用以下命令读取串行输出 -

python -m serial.tools.miniterm /dev/cu.usbmodem1431 9600

以上为我提供了正确的答案。我希望 运行 这恰好 10 秒。 因此我尝试了以下 -

(python -m serial.tools.miniterm /dev/cu.usbmodem1431 9600) & sleep 10 ; kill $!

但是,当命令 运行s 持续 10 秒时,我没有收到任何输出。我究竟做错了什么?很抱歉对同样的问题缺乏理解。

serial.tools.miniterm是一个比较特殊的工具,不是简单的用stdout输出。这是一个具有特殊功能的终端仿真(使用 termios)。将这样的应用程序置于后台,您将看不到任何输出。

您有两个选择:

  • 像您所做的那样通过[​​=25=]处理超时
  • 不要使用 miniterm。只需打印通过串行接收的内容即可。