我有一个DOS批处理文件每天运行。
类似的东西-
@ECHO ON
SET COMMON_LIB=commons-io-1.3.1.jar;
SET AR_CLASS_PATH=%CLASSPATH%%COMMON_LIB%
java -cp %AR_CLASS_PATH% -Xms128m -Xmx256m FileCreating
PAUSE当我直接运行批处理文件(即对.bat文件进行双剪裁)时,它运行良好,命令窗口打开并执行所有所需的命令(注意PAUSE )。
但是,当我安排一项日常任务时,我认为状态是运行的。此外,当我右键单击任务时,它给了我一个结束任务的选项(当状态为Running ),但是我看不到命令窗口,所以我无法判断它是否已被处理或它所生成的错误。
因此,无法理解错误是在类路径中,还是在我的java代码中,还是在其他地方。
环境是Windows 2003 R2 EE,SP2。用户拥有管理权限。
我检查过了,但是WINDOWS\Tasks dir中没有WINDOWS\Tasks文件。
我注意到的一件事是,CLASSPATH值没有引用jdk/bin,这会是一个问题吗?请给我建议。
编辑
为了简化操作,我对bat文件的java命令进行了注释,使其几乎什么也不做,然后设置一些变量,然后暂停以保持窗口打开。还是没有成功。
发布于 2011-01-06 13:43:46
计划的任务不一定打开可见的窗口。
根据我的经验,如果在计划任务开始时,相关用户有一个活动的桌面会话,那么它通常会在该会话中创建一个窗口。如果有超过一个这样的会议,它将选择其中一个,但我不知道如何作出选择。如果没有这样的活动会话,那么就不会创建任何窗口。
该作业很可能正在运行,然后在PAUSE命令下停止,无法接收使其继续运行的输入。这很难验证,因为暂停是一个内部命令,不会在任务管理器或process中显示为一个单独的进程。但是,如果您能够验证没有运行java进程,这将支持这样一种信念,即批处理的java部分已经完成,并且停留在暂停上。
通常,当将批处理文件作为计划任务运行时,明智的做法是将标准输出和标准错误重定向到文件,以便在作业完成后查找错误。
https://stackoverflow.com/questions/4615213
复制相似问题