简单脚本中的大量延迟



此脚本循环打开temp.rtf文件。脚本会自动暂停,直到关闭当前文件实例。在它打开一个新窗口之前,我会得到0到30秒的延迟。在python中将cmd与subprocess.run一起使用时,我也注意到了这一点。有人能解释一下发生了什么吗?这完全打破了python。。

import sys, subprocess
def redir(tag):
if str(tag)=='journal':
subprocess.run("temp.rtf", shell=True)
while __name__=="__main__":
redir('journal')

redir的参数(最后一行(实际上是argv,但这应该是一样的。

if __name__=="__main__":
while True:
redir('journal')

^给出相同的延迟

*使用windows 10,任务管理器说CPU最大值为7%,没有其他内容。

在cmd中输入代码不会延迟打开文件,但同样的主要延迟在cmd窗口中很明显,该窗口不会在随机时间内关闭。

在shell中,键入命令以打开相同的文件。运行这个简单的测试6次:每次运行的启动延迟是多少?

您既不指定也不指定操作系统,也不指定应用程序和系统负载(其他运行进程、cpu负载、内存负载(。


作者的最后一条评论意义重大:

Cmd.exe/C命令行

每次启动新的命令处理器时,它都会在命令行之前执行其他程序(自动启动条目(。

您可以在/C 之前使用开关/D

/D忽略注册表自动运行命令

Ref。https://ss64.com/nt/cmd.html

要查看自动运行条目,可以使用来自sysinternals的自动运行:https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns


如果这个开关不起作用,我建议您查看sysinternals中的其他免费工具,它们可以帮助您找到可疑和瓶颈。

例如,流程资源管理器:https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer

最新更新