<p>我有一个应用程序,我想在本地调试。为此,我必须首先运行<code>Consul</code>(这是一个<code>jar</code>),然后我必须调用两个<code>REST API</code>方法,所以我调用了两个<code>POST</code>方法。然后我启动<code>elasticmq-server</code>并调用<code>8</code><code>GET</code></p>
<p>目前,我已经在一个<code>bat</code>文件中启动了<code>jar</code>,但是这使得它对<code>UNIX</code>没有用处。我尝试了以下方法:</p>
<p><code>subprocess.call(['java', '-jar', 'elasticmq-server-0.8.12.jar'], shell=True)</code></p>
<p>但这不是我想要的。我希望<code>jar</code>在双击后在不同的控制台中启动脚本.py. 有可能吗?下面我附上<code>Minimal Complete Verifiable Example</code>:</p>
<p><strong>我的代码</strong></p>
<pre><code>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")
</code></pre>
<p><strong>预期行为</p>
<ol>
<li>双击启动脚本。你知道吗</li>
<li>在新控制台中启动consul</li>
<li>在新控制台中启动elastic</li>
<li>等待2-5秒-它已经工作了。你知道吗</li>
<li>呼叫请求-它已经工作了。你知道吗</li>
</ol>