2011-09-19 148 views
2

java應用程序權限是否爲已創建的進程擴展?即如果應用程序沒有創建文件的權限,並且正在從此應用程序運行someprogram.exe,那麼它是否也受到限制?Java應用程序權限

如果沒有,那我該如何限制創建的進程?我想要做的另一件事是限制子進程使用的內存。請幫忙

回答

1

對我而言,這並不是絕對清楚的,你說的是什麼樣的權限。

Java安全設置爲,每個應用程序限制。它們影響在一個Java虛擬機內運行的Java代碼。如果您調用可執行文件,那麼該可執行文件將不會繼承這些權限。

其他權限爲每個用戶權限。因此,如果沒有在某個文件夾中創建文件的權限,那麼您啓動的Java應用程序將不具有該權限,並且從java vm啓動的任何可執行文件也將不具有權限。

0

您可以限制子進程的內存就像任何普通的Java應用程序,爲前:

java -Xmx16m -XX:MaxPermSize=128m 

在另一方面,我相信的權限相同啓動應用程序的用戶,只需像任何* nix行爲一樣。當你產生新的進程時,你可能會改變用戶開始進程,但取決於實現。

我沒有參考,所以我可能是錯的,但我不明白爲什麼這種行爲在任何桌面應用程序中都會有所不同。

+0

謝謝!如果有人感興趣,我發現有用的這個線程http://stackoverflow.com/questions/1409852/invoking-an-external-process-with-a-different-user-in-java。但是不太清楚MaxPermSize選項如何幫助我限制子進程的內存 – Irakli