Uri*_*Uri 5 java command-line-arguments
我们有一个带有main()的程序,它解析某些CLP但不保存在任何地方.然后我有自己的插件代码,需要访问原始的CLP(所以我可以传输更多的参数).但是,我无法改变主()
我看到在C#中显然有一种方法可以做到这一点,我正在寻找Linux上的等效Java解决方案.
更新:显然,我知道main()的工作原理.不幸的是,我无法更改现有的应用程序或它的调用方式(CLP除外).我只能通过沙盒插件代码访问.我的问题是是否有办法获取JVM被调用的命令行(而不是带有-D的环境变量).
除了以某种方式在 main 中执行此操作之外,我认为您唯一的其他选择就是下降到操作系统级别并执行一些命令来获取参数。
在 Linux 上,正在运行的进程的 cmd 行参数存储在/proc/ pid /cmdline
因此,要获取它们,您必须找到进程 ID。看这里:
然后使用这个 open /proc/ pid /cmdline并解析它。该文件的格式和c中的示例如下:
最好将这两个调用包装在从 java 调用的一个 shell 脚本中。
请注意,这将是极其不可移植的并且有点hacky。但如果需要必须...
| 归档时间: |
|
| 查看次数: |
1442 次 |
| 最近记录: |