2012-04-10 133 views

回答

2

對於臨時目錄:有一個很好的答案here

對於所有環境變量,請嘗試env命令。

25

JDK提供了可以實現您的目標的工具。使用指定的命令,可以顯示系統變量java.io.tmpdir的值。

jinfo <process id> | grep "java.io.tmpdir" 

<process id>爲要顯示系統變量的值的java程序的數量。您可以通過使用jps工具獲得java進程的標識,該工具列出了計算機上運行的所有java進程。

要查看Java進程的所有系統變量,請使用此命令

jinfo <process id> 

所有JDK工具都位於$JAVA_HOME/bin目錄。

java.io.tmpdir是java系統屬性之一,所以它的值只存在於jvm中。要了解java.io.tmpdir屬性的值,您還可以使用java編寫一個簡單的程序。它可能看起來像這樣的代碼:

public class JSystemProperties { 
    public static void main(String[] args) { 
     System.getProperties().list(System.out); 
    } 
} 

上面的代碼將打印出所有的java系統屬性,但可以修改此與您通過args數組名只打印系統屬性(使用System.getProperty(key)法) 。編譯完此類後,您可以創建腳本(它將運行編譯的Java類),該腳本可以視爲Linux命令來獲取當前的java系統屬性值。

+0

附加進程錯誤:sun.jvm.hotspot.debugger.DebuggerException:無法附加到進程 – jan 2016-04-11 13:13:56

+2

嘗試切換到root用戶或啓動JVM的同一用戶 – 2016-04-12 12:23:58

+1

此程序需要導入java.util.Properties。我認爲將它編輯爲System.getProperties().list(System.out)是有意義的; – evgenii 2016-12-02 13:48:51

4

因爲我已經部署在過去的黑盒子的Java應用程序,我有時能夠通過執行以下命令來查找的java.io.tmpdir值:

ps -ef | grep java.io.tmpdir

和Tomcat應用

特別是,你可能得到這樣的輸出:

-Djava.io.tmpdir=/usr/local/tomcat/temp