【问题标题】:Windows Command Prompt CMD CloseWindows 命令提示符 CMD 关闭
【发布时间】:2020-12-09 05:53:29
【问题描述】:

在 Python 中,如何检查和关闭如图所示的 cmd 窗口?此代码应控制并找到哪个 cmd 已完成并如图所示空闲,然后将其关闭。我不想要等待关闭它的代码。它应该是一个独立的程序。顺便说一句,图像是一个样本。这不是我原来的问题。

你可以认为你有一个窗口或几个窗口这样打开并等待,它们怎么能被关闭?有一个条件可以关闭命令提示符。这个条件是应该完成那个提示下的程序。不应关闭运行程序的命令提示符。而且,这个程序应该在外部和事后进行干预。

我无法用 taskkill 或 psutil 解决。他们总是将 cmd 的状态视为正在运行。更具体的可以看下面的代码sn-p,

os.system("start /B start cmd.exe @cmd /k python helloworld.py & exit")

它不会关闭命令提示符。

【问题讨论】:

  • 将 python 文件拖放到命令提示符上,然后它将显示您的输出。然后输入exitexit() 关闭cmd
  • 你为什么同时使用startcmd两次? cmd /C python helloworld.py(或start "" /B cmd /C python helloworld.py)应该足够了……
  • @aschipfl 我这样使用它,因为这样,它可以在提示符中从外部启动,并且程序不会等待提示符完成。否则,程序会等待提示完成并关闭它,这是我不想要的。
  • 简单的解决方案根本不使用os.system(),因为使用的代码导致执行%ComSpec% /c start /B start cmd.exe @cmd /k python helloworld.py & exit,这意味着运行cmd.exe以使用其内部命令start再运行一个命令进程以使用内部命令start 再运行一个命令进程来运行python.exe 来处理Python 脚本。此命令行末尾的& exitos.system 开始的第一个cmd.exe 解释为在第一个start 之后执行的命令。整个方法没有意义。
  • 第二个 cmd 进程使用命令行C:\Windows\System32\cmd.exe /K start cmd.exe @cmd /k python helloworld.py 启动,由于选项/K 而一直运行直到用户输入exit。第三个命令进程以命令行cmd.exe @cmd /k python helloworld.py 启动,这导致以helloworld.py 作为参数运行python.exe,并在python.exe 由于选项/k 而自行终止后继续运行。因此,用户必须输入exit 才能关闭第三个cmd.exe,而第一个cmd.exe 在第二个cmd.exe 开始后已经自行关闭,因为...

标签: python windows cmd


【解决方案1】:

我不知道你是否正在寻找这个解决方案,但你可以在你的脚本后添加“& exit”,这将关闭 CMD。

例如:

python script.py & exit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 2012-09-09
    • 2016-01-23
    • 2021-08-04
    • 2012-10-03
    相关资源
    最近更新 更多