在Python中创建MML控制台的基础知识

0 投票
2 回答
1363 浏览
提问于 2025-04-16 17:09

我想用Python写一个MML(人机语言)控制台,这个控制台是用来控制和监控一个后台进程的唯一入口。基本上,它应该能做到以下几点:

  • 连接到一个已经在运行的后台进程
  • 如果后台进程没有运行,仍然可以打开控制台,并能够启动这个后台进程(通过输入正确的命令)
  • 自动补全允许的命令
  • 根据输入的命令改变后台进程的行为

那么,最好的实现方法是什么呢?如何让控制台和后台进程进行沟通,同时又不影响后台进程的运行,也就是说,控制台不能成为这个进程的父进程。

这个程序需要用Python编写,并且要在CentOS上运行,或许可以用一些操作系统的工具来帮助进程之间的沟通?

2 个回答

1

也许这可以作为一个开始:http://code.google.com/p/squires/wiki/SquiresHowto

你可以使用一个“套接字”来实现前端和后端之间的通信。

1

在我心目中,twisted 是一个很不错的选择。用它来搭建一个交互式控制台相对简单,而且它的Perspective Broker系统可能会非常适合你。此外,它非常稳定,事件循环也很快。

你还可以使用cmd模块,最近在Doug Hellmann的优秀网站Python Module of the Week (PyMOTW)上有介绍。

如果你需要进行进程间通信,ZeroMQ使用起来也很简单,而且速度非常快。

撰写回答