2013-12-20 99 views
3

在Java中,您可以執行進程並通過Runtime.getRuntime()。exec()將命令行參數傳遞給它。隱藏進程命令行

您傳遞給程序的參數可以在任務管理器或進程管理器中看到。我想知道是否有辦法隱藏或清除該命令歷史記錄,以便它們都不會被看到。

任何幫助表示讚賞。

+0

你能詳細說說外部過程嗎? (是Java嗎?如果不是,它是你編寫的本地代碼嗎?或者如果它是來自庫的命令,它是哪個庫?) –

回答

1

您無法隱藏啓動它的進程或完整命令。無論您傳遞給Runtime#exec的命令都會顯示,並且無法繞過它。

你的選擇是:

  • 整合的功能集成到你的應用程序,而不是開始一個新的進程。如果它是你自己的本地代碼,你可以使用JNI來運行它。如果不是你的代碼,你可以尋找一個能做它的Java庫。這是我會推薦的。
  • 通過IPC傳遞參數(stdin/out,tcp等)。
  • 從進程啓動後將被刪除的臨時配置文件中讀取參數。