首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >启动和配置几个程序的Python脚本

启动和配置几个程序的Python脚本
EN

Stack Overflow用户
提问于 2016-08-12 08:23:22
回答 2查看 55关注 0票数 0

我有一个应用程序,我想在本地调试。为此,我必须先运行Consul (这是一个jar),然后调用2个REST API方法,然后调用两个POSTs,然后启动elasticmq-server并调用8 GETs。

目前,我已经在一个jar文件中启动了bat,但是它对UNIX来说是无用的。我尝试了以下几点:

subprocess.call(['java', '-jar', 'elasticmq-server-0.8.12.jar'], shell=True)

但它不像我想的那样管用。我希望jar在双击script.py后能在不同的控制台上发布。有可能吗?下面我附上Minimal Complete Verifiable Example

我的代码

代码语言:javascript
运行
复制
import subprocess
import time, sys
import requests


subprocess.call(['java', '-jar', 'elasticmq-server-0.8.12.jar'], shell=True)
#call("my.bat") - it works on Windows, but not on Linux
time.sleep(5) #elastic must complete launch - it usually takes 1024 milsec, so I w8 5 just in case.
requests.get('http://localhost:8888/?Action=CreateQueue&QueueName=top-secret')
requests.get('http://localhost:8888/?Action=CreateQueue&QueueName=top-secret2')
requests.get('http://localhost:8888/?Action=CreateQueue&QueueName=top-secret3')
requests.post('http://127.0.0.1:7777/some/catalogs/register', data = {"JSON WITH DATA FOR CONSUL")

期望行为

  1. 双击启动脚本。
  2. 在新控制台发射领事,
  3. 在新控制台上发射弹力,
  4. 等2-5秒-它已经起作用了。
  5. 呼叫请求-它已经起作用了。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-16 20:04:11

我知道,您不能将上述call方法移植到Windows和Linux之间。你必须寻找另一个解决方案。

票数 1
EN

Stack Overflow用户

发布于 2016-08-12 08:42:11

subprocess模块对使用创业信息处理Windows上的新窗口创建具有特定的支持。在*nix和Linux上,您实际上希望生成一个新的终端仿真器,因此您可以调用类似于:x-terminal-emulator -e 'bash -c "sleep 20"' .但这对Mac可能行不通..。你需要有效地测试你在哪个操作系统上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38913256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档