同时从多个源向单个正在运行的脚本发送输入

2024-05-16 19:55:50 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我成功地完成的工作。你知道吗

我有Python代码,它使用Popen启动外部程序(例如omxplayer):

 player = Popen(["omxplayer",file_name],stdin=PIPE)                

很好用。你知道吗

根据一些用户输入,我还可以通过使用Popen.communicate通信从课程的其他地方:

 player.communicate("q")

效果也不错。你知道吗

接下来,我还有一个web界面(在CGI和.sh中),通过远程登录并使用命名管道来实现:

/usr/bin/omxplayer "$1" < /tmp/cmd

并通过以下方式向玩家发送通信:

echo -n q > /tmp/cmd

现在我的问题是,有没有办法让CGI或shell脚本与通过Python代码启动的同一个程序进行交互(发送通信/消息/击键)? 所以基本上,我正在尝试连接到从Python本地启动的程序,使用CGI中的一个web页面。可行吗?你知道吗

我在想,如果我可以将命名管道(如<;/tmp/cmd)添加到启动程序(在Python中),那么也许从CGI脚本中,我将使用相同的逻辑并对管道进行回显。这样做对吗?你知道吗

如果可能的话,我能做些什么?你知道吗


Tags: 代码name程序脚本cmdweb管道命名