Вы должны вызвать Process.CloseMainWindow()
, который отправит сообщение в главное окно процесса. Подумайте об этом как о том, чтобы пользователь нажал кнопку закрытия «X» или File | Выйти из пункта .
Безопаснее отправлять сообщение в Internet Explorer, чтобы закрыть его, а не идти и убивать все его процессы. Эти процессы могут что-то делать, и вы должны позволить IE сделать свое дело и закончить, прежде чем просто убить его в середине того, что может быть важным для будущих прогонов. Это верно для любой программы, которую вы убиваете.
Я предлагаю вам сделать единичный тест на основе вашего выражения cron. С kudos to Van de Voorde Toni вы можете использовать его для этого кода и использовать его, чтобы убедиться, что «nextValidTimeAfter» соответствует вашему ожиданию:
import java.text.ParseException;
import java.util.Date;
import org.quartz.CronExpression;
public class CronTester {
public static void main(String[] args) throws ParseException {
final String expression = "* * 17 0 0/2 *,SUN,MON";
final CronExpression cronExpression = new CronExpression(expression);
final Date nextValidDate1 = cronExpression.getNextValidTimeAfter(new Date());
final Date nextValidDate2 = cronExpression.getNextValidTimeAfter(nextValidDate1);
System.out.println(nextValidDate1);
System.out.println(nextValidDate2);
}
}