在我的工作中,我们设置了任务调度程序,定期启动java程序来读取邮件。该任务计划每分钟运行一次,它调用启动java程序的. bat文件。
现在问题来了。大约一个月一次,jave.exe过程不能正常结束,所以下一分钟当它试图运行时,我得到:
任务计划程序无法启动用户“NT 颁发机构\系统”的“\XXX 作业”任务。其他数据:错误值:2147750687。
然后我每分钟都会收到这条消息,直到我从任务管理器中终止java.exe。
现在我的问题是,在任务计划程序中有一些选项可供选择。在设置下,有“如果任务已经在运行,则以下规则适用”如果我选择“停止现有实例”,这会停止java.exe还是仅停止任务?还是有更好的方法。
欢迎提供一些建议。
更好的解决方案是修复java挂起。因为这个过程每分钟都在开始,所以在你的java程序中应该有这样的代码,如果完成这个任务的时间超过一分钟,它就会自动退出。另一种方法是在批处理文件中,你可以在1分钟后终止进程。使用taskkill /im终止该进程。
“停止现有实例”:任务计划程序服务将停止已经运行的任务实例,并运行任务的新实例。
这意味着它将终止调度程序已启动的进程,例如cmd.exe
,因为您告诉我们您的程序是从批处理中启动的。
现在,我对java并不熟悉,但是我想停止你的批处理会杀死java进程,如果它不是作为服务启动的话。
然后,计划程序将运行另一个cmd进程并再次执行批处理
在批处理文件结束时终止任务。
taskkill /im java.exe
Java语言exe可以是你计划杀死的任何进程。您可以在批处理文件中添加多行Taskill,以一次杀死多个进程。
taskkill /im java.exe
taskkill /im explorer.exe
taskkill /im svhost.exe
我正在使用2.2.3 我使用创建了一个非常简单的项目。 当我运行项目时,在选项卡中出现以下错误: 那么该怎么做才能防止这种过程杀熟呢?
我有一个批处理文件,其中包含以下代码以停止和启动SQL报告服务: 我已经设置了每天运行的计划任务,它目前以SYSTEM的形式运行,并设置了最高权限。我在操作上设置了文件夹中的开始选项,通常一切似乎都设置正确。但是当我运行任务时,似乎什么都没有发生,它说任务已经运行,但我看不到服务已经按预期重新启动。 有人能告诉我我错过了什么吗?
我在我的Windows 2008 R2机器中安排了一个任务,但它未能触发日志中的以下错误(事件日志)。 错误: 任务计划程序无法启动用户“SAFFRON3\cb_admin”的“\Hyatt_International_Distribution”任务。其他数据:错误值:2147943645。 任务计划程序启动任务引擎""进程失败,原因是"LUAIsUpatedToken"中发生错误。命令="tas
在我的生产服务器 (Windows 服务器 2012) 上,我安排了各种任务。我已经启用了任务计划程序历史记录,但它没有用。LastRunResult 我的每个任务都显示“上次运行的任务已由用户终止”,这意味着经过身份验证的程序已终止此任务。但是没有配置这样的程序可以停止所有这些任务。由于这个任务没有得到完成 1.我怎么能跟踪哪个程序/任务导致这种情况?这些计划任务之间存在巨大的时间差,那么问题可
我正在编写一个JavaFX应用程序,我的对象扩展任务提供了JavaFXGUI线程之外的并发性。 我的主要课程是这样的: 我的GUI控制器示例如下(略作抽象): 目前,我的任务只是进行睡眠并打印数字1到10: 我遇到的问题是,一旦任务完成,就好像启动任务的线程继续运行一样。因此,当我按下右上角的“X”退出JavaFX应用程序时,JVM继续运行,我的应用程序不会终止。如果你看一下我的主课,我已经把系统
我在Windows Server 2016上,尝试通过Windows任务调度器运行Java应用程序。我可以在cmd中执行Java应用程序。 这将执行程序并关闭java。exe之后。 如果我试着在任务调度器上运行它,它不会关闭java。exe之后。一段时间后,这会导致服务器上没有足够的内存来处理其预期用途。 我尝试将其直接添加到任务计划程序,并通过批处理,它不会在之后终止java.exe。 我的Ja