我有一个在 Linux 机器上运行的简单 Java 程序,该程序基本上安排了一个重复任务,例如每小时运行一次,所以它有点像坐在那里的守护进程线程,但不完全是。我想知道如何知道程序是否仍在 Linux 中运行以及如何终止正在运行的程序?我需要找到一种方法来触发取消方法吗?或者我可以使用 Linux 命令杀死它?或者我需要编写一个停止并运行脚本?我不确定这是否是一个开放式问题,但实践中最好的方法是什么。
这是我的java代码
public static void main(String [] args){
ScheduledExecutorService task =
Executors.newSingleThreadScheduledExecutor();
task.scheduleAtFixedRate(new Task(),0,1,TimeUnit.HOURS);
}
static class Task{
@Override
public void run(){
//do something
}
}