【发布时间】:2020-07-20 06:51:31
【问题描述】:
所以今天我开始了一个有趣的项目。我希望能够使用不和谐机器人启动和停止我的世界服务器。为了启动服务器,我决定使用批处理文件来执行命令。这很简单,我能够验证它是否工作,因为我可以运行它并加入“localhost”服务器。
下一步是在 Python 中创建一个不和谐的机器人,我以前做过,也没有花很长时间。我能够在我制作的测试不和谐服务器上验证该机器人是否响应了命令。
最后一步是制作 discord 机器人的命令来启动和停止服务器。我能够使用subprocess 库来调用批处理文件并启动服务器。
我的困难在于关闭服务器。我打算在运行正确的命令时使用子进程的 pid 来杀死它。但是,我遇到了获取服务器 pid 的问题,因为 subprocess.pid() 让我获得了批处理文件的 pid(我认为)。当我尝试结束它后连接到服务器时,我能够连接。
有没有办法获得以批处理文件启动的进程的 pid?如果您需要查看代码或批处理文件,请告诉我!
我也尝试运行批处理文件直接运行的命令,但在权限方面遇到了困难,所以我不确定这是不是更好的解决方案。
【问题讨论】:
-
你也可以使用imagename。例如:‘taskkill /f /im server.xxx’。此外,如果您正在为烫发而苦苦挣扎;你试过在管理员模式下运行控制台吗?
-
您的意思是由同一个 cmd 会话启动的进程吗?
标签: python batch-file