2015-09-07 48 views
1

我在Ubuntu Linux中有java 1.4控制台项目myPro。如何知道从java项目里面用什么命令启动myProjava项目里面的启动命令

我需要这个用于启动脚本更新的原因。

+2

一个问题:为什么你需要这些信息?它看起来像[XY问题]的另一个例子(http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – Pshemo

+0

你对命令的某些特定信息感兴趣吗? – Pshemo

+0

我需要知道哪个脚本启动了程序 – vico

回答

1

最简单的解决方案虽然稍显粗糙,但是会将此信息作为参数发送到您的项目并在主方法中接收。否则,您需要联系Linux历史记录或某个调用进程标识符。

在这里你可以阅读一些关于获取最后一个命令在bash脚本中运行,如果这就是你想要的。 BASH: echoing the last command run 您将很容易发现如何从Java调用bash。

1

如果你的意思是在shell脚本中相当于$0,我不认为有一个标准化的获取它的方式。虚拟机将其抽象化。

但是,如果您使用的是Oracle JRE,请尝试System.getProperty("sun.java.command")。可能是第二个最好的选择。

如果您的Java程序包装在shell脚本中,那么您可以从中读取$*,并通过-D选项将其传递到Java世界。 (我在一个旧的项目中完成了这项工作,其中完整的命令行需要从Java空间登录。)