我正在尝试做一个小的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/