Windows CMD.exe占用所有CPU,阻止其他CMD.exe执行
我们在Windows中有一些批处理脚本(.bat),用于执行数据库的“备份”和“归档日志”。这些脚本定期从Tivoli调用 对于每个执行的脚本,该进程创建一个子会话,以便加载DB2cmd环境,以便执行db2命令并退出 每日.batWindows CMD.exe占用所有CPU,阻止其他CMD.exe执行,windows,shell,batch-file,db2,cmd,Windows,Shell,Batch File,Db2,Cmd,我们在Windows中有一些批处理脚本(.bat),用于执行数据库的“备份”和“归档日志”。这些脚本定期从Tivoli调用 对于每个执行的脚本,该进程创建一个子会话,以便加载DB2cmd环境,以便执行db2命令并退出 每日.bat call db2cmd hourly.cmd 脚本的内容如下: db2\u job\u savedday.cmd db2 -fE:\DB2\scripts\tmp\db2_job_savedbhourly.db2 -zE:\DB2\scripts\tmp\db2_j
call db2cmd hourly.cmd
脚本的内容如下:
db2\u job\u savedday.cmd
db2 -fE:\DB2\scripts\tmp\db2_job_savedbhourly.db2 -zE:\DB2\scripts\tmp\db2_job_savedbhourly.log
exit
db2文件的内容是(但是,这并不重要,因为它是正确执行的)
db2\u job\u savedday.db2
archive log for database ICMNLSDB
我们正面临这些脚本的问题,我认为这与退出有关。在一次执行时,脚本冻结,并开始消耗整个CPU(请参阅附图)。在此行为之后,我们无法从CLP执行任何其他DB2命令。
我们杀死了所有CMD.exe和db2bp.exe进程,但错误仍然存在。
db2diag.log文件中没有任何内容,唯一的解决方案是重新启动机器。
CMD.exe进程可能会丢失与db2bp.exe的通信,并且无法执行退出。我想了解这个问题的根源,并学习如何在Windows中执行db2进程
我们的朋友@AngocA似乎经常检查这个悬而未决的问题,尽管他做了一些事情来解决这个问题。让我们至少把他的答案放在这里,让人们知道它已经被用户关闭了。:)由今晚的皮条客提供:-D
“问题出现在另一个db2cmd会话中,其中有一个 不定式循环。这创建了一个新的db2cmd会话 由于第一个会话使用了整个CPU,因此被阻止。-AngocA“
这听起来不像是编程问题。您是否与IBM一起打开了PMR?问题是在另一个db2cmd会话中存在不定式循环。这就产生了一个新的db2cmd会话被阻塞的场景,因为第一个会话使用了整个CPU。您似乎发现了问题,请您自己创建并回答并接受它好吗?谢谢