java - 如果作业正在运行则返回值

标签 java

我正在尝试做一个小的java作业,将文件从一个文件夹复制到另一个文件夹以及一些数据库存储等。该作业通过每小时执行一次的脚本运行。我想对 java 作业进行一些检查,如果作业已经在运行,它可以返回一些值。

问题是,我不知道该怎么做。有什么建议吗?

每小时运行一次作业,如下所示:“java myjob arg1 arg2”。是否可以检查 1 小时前启动的作业是否仍在运行?

编辑

只是想到了一些事情..由于每次运行此作业时都会获得一个新的进程 ID,因此以下建议将不起作用。我的工作将从另一个脚本运行,如下所示:

if ${type} = ${sys}
    then 
        java batchjob ${type} ${dir1} ${dir2}

最佳答案

您可以查阅进程列表,或者更简单的是,您可以在每次启 Action 业时创建一些文件并在作业完成后删除,这样就可以检查文件是否存在并知道进程正在运行(或者进程已崩溃并且文件尚未删除)...只是一个想法。

关于java - 如果作业正在运行则返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7818652/

相关文章:

java - 使用 MongoTemplate 和 Spring Data MongoDB 进行复杂查询

java - RuntimeException:无法分派(dispatch)事件@otto

java - 如何为 ArrayStack 实现 toString() 方法?

java - 用java将大量数据插入数据库

java - 如何隐藏 Android 状态栏中的通知图标?

java - 为什么强制初始化静态最终变量?

Java .class 文件结构 - InnerClasses 属性

java - 通过 1 遍查找链表的中间元素,这是创意 "useless answer"吗?

java - Alpine Linux - 未找到 javac

java - Hibernate OneToMany 生成外键