【问题标题】:Killing a Windows 7 program using Python 2.7x使用 Python 2.7x 杀死 Windows 7 程序
【发布时间】:2015-04-11 19:56:22
【问题描述】:

我目前有以下代码:

 processlist = []
    for p in psutil.process_iter():
        try:
            process = psutil.Process(p.pid)
            pname = process.name()
            processlist.append(pname)
        except:
            pass
    if "tor.exe" in processlist:
        os.system("Taskkill /im tor.exe")
    process = subprocess.Popen(r"C:\Program Files (x86)\Tor Browser\Browser\firefox.exe", stdout=subprocess.PIPE)

本质上,我希望 Python 代码在 Tor 浏览器打开时杀死它,然后重新打开它。尽管如此,当我运行此代码时,Tor 浏览器会显示一条消息,指出浏览器存在错误,用户是否希望关闭并重新启动浏览器?我真的不希望这种情况发生,所以我只是想知道是否有另一种方法可以关闭浏览器以避免出现此确认提示消息?

【问题讨论】:

    标签: python-2.7 cmd tor psutil


    【解决方案1】:

    输入taskkill /?

    您所做的只是要求 Tor(无论是什么)关闭,即发送WM_Close 消息。 /f 终止应用程序。

    【讨论】:

    • 您的语言也可以调用 WMI。所以你可以直接在你的代码中杀死tor。命令行等效为wmic process where "Name='notepad.exe'" call terminate 0 或在vbs 中Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2"):Set colItems = objWMIService.ExecQuery("Select * From Win32_Process"):For Each objItem in colItems:msgbox objItem.name:next
    • 还有一个 API 调用 TerminateProcess 终止指定进程及其所有线程。 BOOL WINAPI TerminateProcess( HANDLE hProcess, UINT uExitCode );
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 2013-10-12
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 2012-06-13
    • 2010-12-08
    相关资源
    最近更新 更多