java - 执行期间从命令行读取

标签 java cron

有没有一种简单的方法可以在程序执行期间将Linux/Unix命令传递给Java的args[]?我想将 Java 应用程序与 cron 一起使用。

最佳答案

JVM 已经为您做到了这一点:

public static int main(String args[]) {...

在 args[] 中,您将拥有命令行参数。

如果您想要更复杂的功能(如命名参数,例如 -title = MyTitle),您可以尝试 Apache 命令行界面 (CLI) 库。

<小时/>

编辑回答 featon 的评论:那是行不通的,操作系统会将其解释为启动新进程的调用。另外,所有java进程的进程名称都是“java”(操作系统运行的是JVM,并不知道它里面做了什么)。

如果您想要与已运行的 Java 进程通信,则必须打开通信路径。两种选择是:

  • 打开 TCP 端口,启动另一个在此处发送消息的应用程序(无论是否为 Java)。
  • 让进程定期列出一个目录,如果出现任何新文件,请等待一段时间(以便完全创建),打开它,读取它并删除它。

另一条途径是使用 J2EE 应用服务器来实现更面向连续运行的 Java 进程的功能(甚至相当于 cron 任务),但它们需要一些努力才能熟悉。

关于java - 执行期间从命令行读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6634510/

相关文章:

java - ArrayList越界错误

java - Java 高效查找 HTML 代码中的字符串

php - 安排 cron 作业 laravel

php - 将随机行从一个 MySQL 表复制到另一个具有不同模式的 MySQL 表

php - 在处理超过 190,000 个每月任务时,Cron 作业是否实用?

java - 为什么删除后刷新JTable不起作用

java - 在android中的 Activity 后面运行一个线程

java - 解析 Yahoo Finance API 返回的 CSV 数据

python-3.x - Cron 作业中的 PyAutoGUI

cron - 在主机中运行 cron 不到一分钟