首页 文章

使批处理文件等待,直到执行Perl脚本调用的shutdown命令(由批处理文件调用)

提问于
浏览
0

我有一个批处理文件,它调用Perl脚本,然后是Perl脚本,它执行一些处理,然后执行命令 shutdown /r /t 1 . 在调用Perl之后的批处理文件中,有退出 /b . 例如:

批处理文件:

perl doSomething.pl

exit /b

Perl文件:

do stuff

shutdown /r /t 1

我希望批处理文件不会退出并等待关闭开始 .

我试过了

start /wait perl dosomething.pl

并循环使用tasklist检查 perl.exe 并仅在 perl.exe 进程完成后退出 . 没有任何效果 .

有没有一个解决方案来实现这个没有'休眠'或无限循环等待关闭?

1 回答

  • 1

    嗯,这很奇怪 . 您已经提到过(检查任务列表),它只是使用最后一个选项 .

    但是,我能想到的唯一选择是创建一种标志文件 . 让你的perl脚本在它终止之前的某个地方创建一个文件并使你的bat循环直到找到这个文件并在终止之前删除它 . 为了避免"busy waiting",您可以在蝙蝠循环中添加类似 ping localhost -n 6 >nul 的内容 .

相关问题