Batch file bat文件中调用cygwin和堆栈结束错误

Batch file bat文件中调用cygwin和堆栈结束错误,batch-file,cygwin,Batch File,Cygwin,我正在运行以下bat文件,但出现了一个错误 assertion "root_idx != -1" failed: file "/ext/build/netrel/src/cygwin-1.7.1-1/winsup/cygwin/mount.cc", line 363, function: void mount_info::init() Stack trace: Some random stack trace ENd of stack Trace 批处理代码 @echo off :top s

我正在运行以下bat文件,但出现了一个错误

assertion "root_idx != -1" failed: 
file "/ext/build/netrel/src/cygwin-1.7.1-1/winsup/cygwin/mount.cc", 
line 363, function: void mount_info::init()
Stack trace: Some random stack trace
ENd of stack Trace
批处理代码

@echo off
:top
set /a run=1
echo "Beginning of Loop"
echo %run%
wmic process where "name like '%%java%%' and CommandLine like '%%abc%%'" get caption, CommandLine | findstr "abc" 1>nul || set /a run=0
if %run%==0 (
echo "Process Not Running"
start cmd /c 'path to file')
echo "Taking a Pause"
sleep 10
goto :top
为什么首先要调用cygwin?
为什么我得到了错误,无限循环停止了(循环检查程序是否存在,并在程序以某种方式被终止时启动它。

不知道如何避免Cygwin错误,但如果不希望调用它,请检查PATH变量,使Cygwin路径不在其中,或者至少它位于路径列表的末尾。

这是Cygwin错误

在我的例子中,它是在一些构建过程(以及与之相关的Cygwin控制台)进入挂起状态后开始复制的

我不知道它们被挂起的原因。也许父进程在它们等待某个东西的时候被杀死了。这并不重要。但重要的是,在那之后,当我打开新的Cygwin控制台时,每个新的Cygwin控制台都被挂起。我的解决办法是找到旧的挂起的Cygwin进程并杀死它们

为什么首先要调用cygwin

当您在cmd.exe中运行某些内容,但您的路径配置为使用Cygwin时,它会首先尝试在Cygwin中运行您的命令(取决于路径中的顺序)

为什么我得到了错误,无限循环停止了

我想你和我有同样的问题,那就是每一个新的Cygwin控制台都会挂起,直到你杀死第一个有问题的控制台