繁体   English   中英

同时使用读取和写入文件运行Python和C ++

[英]Simultaneous Python and C++ run with read and write files

因此,这是个笨蛋,有点太具体了,无法在线找到答案。

我正在用C ++写入文件,并同时在Python中读取该文件以移动机器人。 或尝试。

当我尝试同时运行两个程序时,首先运行C ++,然后运行Python。

这是我使用的命令:

./ColorFollow & python fileToHex.py

即使我切换命令顺序也会发生这种情况。 即使我在不​​同的终端上运行它们(这是同一件事,只是涵盖了所有基础)。

Python和C ++代码都在“无限”循环中读/写,因此这两个都应该运行直到我说停止为止。

代码工作正常; 当Python脚本最终运行时,机器人会按预期移动。 只是代码不能同时运行。

有没有办法做到这一点,或者这是不可能的?

lemme知道,如果您需要更多信息,但是代码几乎与您期望的一样。

如果使用Linux,则&将释放bash会话,在这种情况下,CollorFlow和fileToXex.py将在不同的bash会话中运行。
同时,组成./ColorFollow | python fileToHex.py ./ColorFollow | python fileToHex.py看起来很有趣,因为您将ColorFollow的stdout重定向到fileToHex.py stdin-它可以通过在退出时打印一些代码字符串来同步脚本,然后通过fileToHex.py读取并退出。
我会创建一些空文件,例如/var/run/ColorFollow.flag并在其中一个进程退出时在其中写入1。 不是管道-因为我们不在乎哪个过程将首先开始。 因此,如果ColorFollow的下一个循环步骤在文件中看到1,它将删除该文件并退出(意味着fileToHex已经退出)。 相同-对于fileToHex-在删除标记文件后,在每个循环步骤中检查标记文件并退出(如果存在)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM