相关疑难解决方法(0)

log4j2:包含PID

我正在使用log4j2,同时在不同的进程(即不同的JVM)中运行相同代码的多个实例.我希望所有进程都能记录到同一个文件,interleaved如何配置(通过log4j2.xml)输出PID,以便在日志中区分不同的进程?

java logging log4j log4j2

6
推荐指数
2
解决办法
6660
查看次数

使用Groovy获取流程的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)

groovy

5
推荐指数
1
解决办法
2271
查看次数

Java - 在Windows 7中通过命令行获取外部进程的PID

我用Windows 7 32位Java:

如何在Windows 7中通过命令行获取进程的PID?

我想杀死一个我只能通过运行它的命令行真正识别的应用程序.我们在该计算机上运行了几个Java应用程序.我需要停止特定的.

确切地说:我需要找到运行的tomcat catalina.bat.您认为最好的方法是什么?

我知道tasklist,但它似乎无法查询启动进程的命令行.发现java.exe对我没有帮助.我尝试搜索像pgrep/pkill for Windows这样有用的东西,但没有成功.

java command-line pid

4
推荐指数
1
解决办法
1万
查看次数

使用名称而不是 PID 杀死 java 进程

在我的java程序中,我想终止一个名为“DummyBroker”的进程(这是另一个java程序)。我可以使用 TaskKill 杀死它,但它需要进程的 PID。那么我怎样才能获取特定java进程的pid然后杀死它呢?

java windows kill-process

4
推荐指数
2
解决办法
1万
查看次数

如何获取生成的java进程的PID

我正在编写几个java程序,并且在完成我想做的任何事情后,需要在单独的JVM中终止/清理.为此,我需要获取我正在创建的java进程的PID.

java pid process spawn

2
推荐指数
1
解决办法
3284
查看次数

通过 JMX 获取进程 ID

我正在添加以下 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

java linux jmx

2
推荐指数
1
解决办法
2399
查看次数

JAR 文件如何删除自身?

我需要一个 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)

如果你想知道这是做什么的,你可以查看这个答案。

java windows batch-file taskkill kill-process

2
推荐指数
1
解决办法
3943
查看次数

如何在IDEA和Visual Studio环境下联合调试JNI程序

我正在编写 JNI 程序,但程序出现问题,并且数据不符合预期。Java程序在IDEA环境下启动。随着程序不断运行,当代码执行到一个断点时,这个断点就是java调用动态库的地方。我想让Visual Studio接管程序,以便我可以调试和观察数据。

我用google搜索解决方案,没有看到相应的图文教程,不确定这个解决方案是否可行。

如果你可以调试,任何代码都可以

如果可以的话,希望您能提供图文教程,或者建议一些步骤,非常感谢。

debugging java-native-interface intellij-idea visual-studio

1
推荐指数
1
解决办法
1916
查看次数

0
推荐指数
1
解决办法
1万
查看次数