2015-09-07 70 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空間登錄。)