我正在使用log4j2,同时在不同的进程(即不同的JVM)中运行相同代码的多个实例.我希望所有进程都能记录到同一个文件,interleaved如何配置(通过log4j2.xml)输出PID,以便在日志中区分不同的进程?
我试图在Groovy中创建一个方法来获取应用程序的进程ID。我目前处于这个阶段:
String getProcessIdFor(String program) {
def buffer = new StringBuffer()
Process commandOne = 'ps -A'.execute()
Process commandTwo = "grep -m1 '${program}'".execute()
Process commandThree = "awk '{print \$1}'".execute()
Process process = commandOne | commandTwo | commandThree
process.waitForProcessOutput(buffer, buffer)
return buffer.toString()
}
Run Code Online (Sandbox Code Playgroud)
但这给了我:
Exception in thread "Thread-1" groovy.lang.GroovyRuntimeException: exception while reading process stream
awk: syntax error at source line 1
at org.codehaus.groovy.runtime.ProcessGroovyMethods$3.run(ProcessGroovyMethods.java:402)
context is
at java.lang.Thread.run(Thread.java:745)
>>> ' <<<
missing }
Caused by: java.io.IOException: Stream closed
awk: bailing out at source line …Run Code Online (Sandbox Code Playgroud) 我用Windows 7 32位Java:
如何在Windows 7中通过命令行获取进程的PID?
我想杀死一个我只能通过运行它的命令行真正识别的应用程序.我们在该计算机上运行了几个Java应用程序.我需要停止特定的.
确切地说:我需要找到运行的tomcat catalina.bat.您认为最好的方法是什么?
我知道tasklist,但它似乎无法查询启动进程的命令行.发现java.exe对我没有帮助.我尝试搜索像pgrep/pkill for Windows这样有用的东西,但没有成功.
在我的java程序中,我想终止一个名为“DummyBroker”的进程(这是另一个java程序)。我可以使用 TaskKill 杀死它,但它需要进程的 PID。那么我怎样才能获取特定java进程的pid然后杀死它呢?
我正在编写几个java程序,并且在完成我想做的任何事情后,需要在单独的JVM中终止/清理.为此,我需要获取我正在创建的java进程的PID.
我正在添加以下 JVM 参数以通过 JMX 连接应用程序。通过 jconsole 通过 JMX 连接应用程序后,是否有菜单显示正在运行的应用程序 PID?
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=5592
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)
Linux Redhat 6.2 java JDK 1.6
我需要一个 JAR 文件来删除自身。
问题是Windows在运行时锁定了JAR文件,不能直接删除自己。
我研究了批处理脚本可以杀死 JAR 进程然后删除文件的解决方案,但是
System.exit(0)不需要,因为它不能通过Batch文件运行。taskkill /F /IM "java.exe"不需要,因为它会杀死所有 Java进程。jps不能使用,因为它只是在现有的JDK和用户可能运行一个JRE,这样会失败。我一直在寻找一个解决方案,让我找到PID当前JAR使用的Java代码,然后写出一个Batch命令并插入PID杀死进程的 ,例如如下所示:
printWriter.println("taskkill /PID " + currentJARPID);
Run Code Online (Sandbox Code Playgroud)
如果你想知道这是做什么的,你可以查看这个答案。
我正在编写 JNI 程序,但程序出现问题,并且数据不符合预期。Java程序在IDEA环境下启动。随着程序不断运行,当代码执行到一个断点时,这个断点就是java调用动态库的地方。我想让Visual Studio接管程序,以便我可以调试和观察数据。
我用google搜索解决方案,没有看到相应的图文教程,不确定这个解决方案是否可行。
如果你可以调试,任何代码都可以
如果可以的话,希望您能提供图文教程,或者建议一些步骤,非常感谢。