我目前在我们的Windows 2003 Server Box上使用Quartz Scheduler作为Cron的替代品。 我有两个特定的作业需要在新的VM中启动,所以我使用Java 5中的ProcessBuilder对象来获取我的“Process”对象。 我遇到的问题是当我们的Quartz Scheduler JVM停止时,单独JVM中的2个作业继续运行。如果Quartz Scheduler死亡,我该如何阻止它启动的子进程?
Process process = Runtime.getRuntime().exec(command);
try
{
while (true)
{
Thread thread1 = new Thread(new ReaderThread(process.getInputStream()));
Thread thread2 = new Thread(new ReaderThread(process.getErrorStream()));
thread1.start();
thread2.start();
thread1.join();
thread2.join();
当我的Quartz Scheduler关联的父JVM死亡时,有没有办法杀死这些线程?即使我知道一种方法可以通过手动方式从不同的进程中杀死它们,我也可以通过Quartz了解如何实现。
预先感谢您