Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“我如何隐藏?”;“没有可用的实例”;用python?_Python_Cmd_Wmic - Fatal编程技术网

“我如何隐藏?”;“没有可用的实例”;用python?

“我如何隐藏?”;“没有可用的实例”;用python?,python,cmd,wmic,Python,Cmd,Wmic,我编写了一个脚本,在启动新的Chrome实例之前查找现有的Chrome进程(使用wmic)并杀死它们(使用taskkill) 问题是,在没有运行Chrome进程的情况下,我会被一个cmd窗口卡住,它只会说“没有可用的实例”。它仍然在我想要的页面上启动Chrome,每一次,我只是打开那个窗口,我不想让它出现在那里 这似乎是造成问题的原因(我把其他的都注释掉了,结果就是这样): 我尝试在发送给wmic的字符串末尾添加>nul。没有效果 我尝试在关闭后添加sys.exit()。没有帮助 我甚至试着把它

我编写了一个脚本,在启动新的Chrome实例之前查找现有的Chrome进程(使用wmic)并杀死它们(使用taskkill)

问题是,在没有运行Chrome进程的情况下,我会被一个cmd窗口卡住,它只会说“没有可用的实例”。它仍然在我想要的页面上启动Chrome,每一次,我只是打开那个窗口,我不想让它出现在那里

这似乎是造成问题的原因(我把其他的都注释掉了,结果就是这样):

我尝试在发送给wmic的字符串末尾添加
>nul
。没有效果

我尝试在关闭后添加
sys.exit()
。没有帮助

我甚至试着把它当作一个例外。这也没有效果


我如何让它停止显示或关闭它(如果它确实显示)?python有没有办法处理它,或者这完全是wmic方面的问题?

您可以使用
>CON
和stderr将输出重定向到控制台设备nul
2>nul

因此,如果您在命令行中尝试使用以下语法:

wmic process where "name like '%chrome%'" get commandline,processid>con 2>nul
你永远不会得到这个信息

“没有可用的实例”


您可以使用
>CON
将输出重定向到控制台,并使用stderr将输出重定向到设备nul
2>nul

因此,如果您在命令行中尝试使用以下语法:

wmic process where "name like '%chrome%'" get commandline,processid>con 2>nul
你永远不会得到这个信息

“没有可用的实例”


使用特定的异常将get_wmic包装到try-except块中并处理它(您可以使用pass-in-except-blockThank:忽略它),但是,正如我在原始帖子中所说的,我尝试将其视为异常处理。我完全按照你说的做了,在街上用了一个通行证。这并没有阻止窗户的存在。另外,我甚至不确定这是否是个例外。我的意思是,这并不是说它破坏了代码或其他东西。运行正常。
%SystemRoot%\System32\wbem\wmic.exe将写入一条错误消息来处理STDERR,而不是将STDOUT作为标准输出处理。您必须将
2>nul
附加到Python脚本中使用的命令行,以将错误消息重定向到设备nul以抑制它。请参阅Microsoft关于的文章。我建议阅读博客,最好用Python编写此任务,而不从Python中启动另一个可执行文件。谢谢您的回复。重定向错误消息会使消息消失,但仍然会留下窗口,因此这并不能真正解决我的问题。至于使用PSUTIL,我一定会研究的。谢谢使用特定的异常将get_wmic包装到try-except块中并处理它(您可以使用pass-in-except-blockThank:忽略它),但是,正如我在原始帖子中所说的,我尝试将其视为异常处理。我完全按照你说的做了,在街上用了一个通行证。这并没有阻止窗户的存在。另外,我甚至不确定这是否是个例外。我的意思是,这并不是说它破坏了代码或其他东西。运行正常。
%SystemRoot%\System32\wbem\wmic.exe将写入一条错误消息来处理STDERR,而不是将STDOUT作为标准输出处理。您必须将
2>nul
附加到Python脚本中使用的命令行,以将错误消息重定向到设备nul以抑制它。请参阅Microsoft关于的文章。我建议阅读博客,最好用Python编写此任务,而不从Python中启动另一个可执行文件。谢谢您的回复。重定向错误消息会使消息消失,但仍然会留下窗口,因此这并不能真正解决我的问题。至于使用PSUTIL,我一定会研究的。谢谢