回答
有些是可以从RuntimeMXBean,通过调用ManagementFactory.getRuntimeMXBean()
获得然后可以,例如呼叫
针对的javadoc说:
返回传递的输入参数到不包含主方法参数的Java虚拟机。如果Java虚拟机没有输入参数,则此方法返回空列表。
某些Java虚拟机实现可能需要输入参数从多个不同的源:用于实施例中,从启动Java虚拟机应用程序传递参数如“Java的指令,环境变量,配置文件等
通常,不是'java'命令的所有命令行选项都传递给Java虚拟机。因此,返回的输入参数可能不包括所有的命令行选项。
我认为这是关于使用纯Java的最佳选择。 – msandiford 2010-03-29 23:05:25
+1一些示例代码会让我完美! :) – OscarRyz 2010-04-08 18:13:07
@Stephen Denne ...不是这个的粉丝。我对这个问题的理解是获得命令行(比如'ps -f'中显示的命令字符串),正如手册页所述,“_does不包含main方法的参数。”现在, m试图确定什么其他程序传递给我的类不可见的'main'。 – will 2018-02-07 03:38:32
在Linux/UNIX的,当你得到该命令(在shell中运行)的输出,应该是可能的
cat /proc/$PPID/cmdline
但是,这是不可移植的所有,因此不应在Java中使用.. 。
好的,谢谢。如果它不是可移植的,那也可以,但是我也需要它在Windows上工作。 – aksamit 2010-03-29 22:20:34
@aksamit - 换句话说,你需要它可以在(至少)Linux和Windows之间移植......呃! @Johannes - “因此不应该在Java中使用”太强大了。在Java中编写不可移植的代码并不完全错误......如果情况需要的话。 – 2010-03-29 23:30:31
@JohannesWeiß:so太阳只是在他们决定把* Runtime.exec *放在正确的时候出于他们的想法?我的意思是,它显然没有任何需要,应该从语言中去除,以取悦“纯粹的爪哇神”?要么 ? – SyntaxT3rr0r 2010-03-30 00:37:10
以下链接可以帮助你到达那里:
How to get command line arguments for a running process
get command-line of running processes
How to get a list of current open windows/process with Java?
就像一张纸条:
在Windows中,有Process Explorer by Sysinternals,显示你用来打开进程的命令行。右键单击该进程并选择属性...您将在打开的窗口中看到命令行。
你可能想看看如何jps
这样做。这是一个Java程序,它能够获得所有Java进程的完整命令行,包括主类和JVM选项的完整类名。
我以前用来维护跨平台闪耀的一个选项是在发出命令之前将命令行设置为环境变量。
看一看YAJSW(然而,另一个Java服务包装器) - 它为各种操作系统(包括Win32和Linux)基于JNA-实现,做到这一点,以便它可以抓住正在运行的进程的命令行并创建一个将其包装在服务中的配置。多一点信息here。
如果您使用solaris作为操作系统,请查看“pargs”实用程序。打印所有需要的信息。
- 1. 如何获取进程启动时传递的命令行参数的索引?
- 2. 如何从命令行启动进程时捕获进程的PID?
- 3. 获取java进程的命令行
- 4. 如何用命令行参数启动远程进程?
- 5. 读取/写入多个启动的进程命令行
- 6. 从调用进程获取命令行
- 7. 如何在进程启动后执行docker命令
- 8. 如何用命令行参数在perl中启动进程?
- 9. 如果进程没有运行,启动Windows命令行
- 10. 如何获取用于启动NodeJS程序的原始完整命令行?
- 11. 如何在FreeBSD的命令行中获取java进程的进程ID,sh
- 12. 从macOS上的open命令启动的应用程序进程获取pid
- 13. 如何获取通过execvp启动的进程的进程ID()
- 14. 如何从命令行从git启动和运行命令
- 15. 如何在命令行中启动textmate
- 16. 如何从命令行启动pkg?
- 17. 如何在启动时运行命令?
- 18. 如何启动一个psql命令行?
- 19. 如何获取在命令行执行的命令?
- 20. 如何获取正在运行的进程的命令行参数
- 21. 从不是子进程的命令行在Windows中启动EXE
- 22. 使用Start-Process启动具有完整命令行的进程
- 23. 进行批量“START/WAIT”命令等待程序的启动
- 24. 命令行进程
- 25. 如何使用Platform LSF blaunch命令同时启动进程?
- 26. 如何重新启动VOLD守护进程或发送命令?
- 27. 如何使用Python子进程启动Windows命令提示符?
- 28. 如何在VB.NET 2008中启动多个进程shell命令
- 29. 任务管理器如何获取进程的命令行可执行路径?
- 30. 如果命令过长,如何在linux上获取java进程命令?
你的意思是提供给jvm的参数吗?有一个相关的问题 http://stackoverflow.com/questions/1490869/how-to-get-vm-arguments-from-inside-of-java-application – LB40 2010-03-29 22:55:22