【发布时间】:2012-10-02 13:44:06
【问题描述】:
所以我遇到了一个有趣的问题,我用 java 编写了一个似乎曾经崩溃过的程序。我不知道导致它崩溃的确切条件(因为它似乎在那段时间停止了记录)。但是它是通过批处理文件调用的(运行:
java -jar MyProg.jar
)
话虽如此,当程序未能正确执行时(尽管有一定数量的安全网),它应该停止运行。有什么方法可以检查用户 x 是否正在运行 java.exe,如果是,请执行以下操作:
taskkill /IM java.exe /f
在我尝试运行我的程序或类似的东西之前?谢谢。
【问题讨论】:
-
我不确定我是否理解正确,但如果您要求查看进程并关闭它们,因此可以在 Windows 中通过任务管理器 - 进程选项卡完成。
-
我希望以编程方式执行此操作,因为即使我不在/睡着了,该任务也会每 5 分钟运行一次。因此,它需要检测程序是否以用户名 ____________ 运行(它是一个只运行这件事的系统帐户),如果是,则在运行 jar 文件之前将其杀死。
-
您是在问如何杀死由特定用户使用 taskkill 启动的任务?
-
@MartinWilson 本质上。假设我想杀死“Java.exe”,但前提是它在我运行批处理文件时由用户 D贝尔打开。
-
如何在启动进程时将 pid 存储在一个文件中,然后使用它来杀死它?捕获 pid 是困难的部分。这里有几个想法:*.com/questions/1807794/…
标签: java batch-file scheduled-tasks