java - 如何实现java应用程序和shell脚本之间的同步?

标签 java shell synchronization

我有一个 Java 应用程序可以处理 X 个文本文件。文件处理结束后,它将文件传输到目标文件夹。

我有一个 bash 脚本,它从目标文件夹中挑选文件并在预定时间将它们发送到另一台服务器。

我必须在 Java 应用程序和 shell 脚本之间实现同步。可能吗?

最佳答案

I have to implement synchronization between the Java application and the shell script. Is it possible?

您可以执行隐式操作,例如:Java 应用程序将一个标记 文件(如processing-files-now.txt)放入目标目录。为了更好地调试,该文件可能包含当前处理的文件数。

当 Java 应用程序完成处理后,它可以进入并删除那个标记文件。

然后脚本可以检查该文件是否存在(以便在 java 应用程序添加新文件时不开始传输文件)。

另一方面,真正的问题可能是:Java 应用程序启动 而脚本正在传输文件。如果您真的想避免这种情况,您也可以让脚本写入这样的文件。

但请注意,这种“基于文件系统”的同步并不是很可靠,随着时间的推移可能会给您带来各种麻烦。

这真的取决于“规模”。对于小型设置,当两个程序并行工作时,出现严重问题的可能性很小,甚至不会产生可怕的后果……以上可能会。

但在更真实的场景中,你应该以不同的方式做这些事情。

关于java - 如何实现java应用程序和shell脚本之间的同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58556941/

相关文章:

linux - 查找名称中包含大于特定值的整数的所有文件,最好在 LINUX 设置中

java - Android 插入数据库时​​出错,代码 19 : constraint failed

java - 如何在 selenium webdriver 中选择周范围值

java - 在shell脚本或perl脚本中定义hadoop FS路径

objective-c - iOS 同步 - 让核心数据对象知道它必须被推送到服务器的好方法是什么?

c++ - 同步非常快的线程

c - 线程同步问题: possible race, 滥用volatile,缓存一致性?

java - 正则表达式:URL重写任何不带扩展名的路径

java - 写时复制集合如何提供线程安全?

linux - 'grep'如何连续流?