我正在运行两个 python 程序,比如a.py, b.py
我想通过python3 a.py
和运行两个程序python3 b.py
,但仅当屏幕上提示一行仅有“hello”时才python3 b.py
需要运行-才会继续运行。python3 a.py
a.py
可以在 Ubuntu 终端上实现这一点吗?
答案1
您可以将a.py
的输出发送到文件并查看该文件:
python3 a.py > output.log &
tail -n+1 -f output.log | grep -q hello && python3 b.py
第一个命令a.py
在后台运行,同时将输出发送到output.log
。然后第二个命令将 的内容发送到output.log
,grep
以检查hello
。如果grep
成功退出,则表示hello
已找到 ,b.py
然后运行。
请注意,时间并不准确。由于缓冲,第二个脚本将hello
在输出出现后一段时间启动。