在Java中,你可以执行一个进程,并通过Runtime.getRuntime().exec()将命令行参数传递给它。
您传递给程序的参数可以在任务管理器或进程资源管理器中看到。我想知道是否有办法隐藏或清除该命令历史记录,以便两者都看不到它。
任何帮助,不胜感激。
您无法隐藏进程或启动该进程的完整命令。无论您将什么作为命令传递给Runtime#exec
都会显示出来,并且没有办法绕过它。
您的替代方案是:
- 将功能集成到应用程序中,而不是启动新进程。如果是您自己的本机代码,则可以使用 JNI 运行它。如果不是你的代码,你可以寻找一个 Java 库来执行它的作用。这是我推荐的。
- 通过IPC传递参数(stdin/out,tcp等)。
- 从临时配置文件中读取参数,该过程启动后将删除该文件。