启动远程桌面连接后,WebApp变得无响应

问题描述:

创建批处理文件并调用mstc执行远程桌面连接后,我的对象无响应。我会认为这是一个独立的过程,并不以任何方式依赖于我的python scrypt。启动远程桌面连接后,WebApp变得无响应

subprocess.call("rdp_test.bat") 
subprocess.Popen(["rdp_test.bat"]) #doesnt initiate my rdp 

我得到了相同的结果:

import os 


def rdp_session(server, user, temporary_pass): 
    """create Batch file to create .bat file that initiates rdp with variables""" 
    rdp = open("rdp_test.bat", "w") 
    rdp.write("cmdkey /generic:TERMSRV/"+server+" /user:"+user+" /pass:"+temporary_pass+"\n") 
    rdp.write("mstsc /v:"+server+" /admin") 
    rdp.close() 
    os.system("rdp_test.bat") 
    #os.remove("rdp_test.bat") optional, to delete file with creds after executing 

我也尝试使用。

为什么会发生这种情况,我该怎么做,以便我的RDP在我的RDP运行时保持响应?

要添加一些背景,我有一个瓶应用程序,这是我使用远程连接到不同的机器中此功能。当1 rdp时,网络应用程序不响应任何命令,并且当我终止我的rdp时,突然执行了我单击的所有内容。

+0

产生一个不同的进程? – limbo

+1

我明白了,阅读... https://docs.python.org/2/library/subprocess.html – glls

阅读子过程一点后,我设法发现,这些选择都不是,因为我不仅需要运行与POPEN一子,但还需要使用Pathname expansion

从我落得这样做立即生效:

subprocess.Popen([os.path.expanduser("My_File.bat")]) 

expanduser将扩大使用〜来表示当前 用户的主目录路径名。这适用于任何平台,用户拥有 主目录,例如Windows,UNIX和Mac OS X;它对Mac OS的 没有影响。

否则我的应用程序会在关闭我的rdp会话后运行所有后续命令。这使我可以独立于我的网络应用程序运行多个子进程,并允许它在同一时间响应

为了使您的会议上继续就需要产生另一个过程,独立一个将执行你的脚本后立即终止。