This is an automated email from the ASF dual-hosted git repository. jbonofre pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/karaf.git
The following commit(s) were added to refs/heads/master by this push: new 10d991b [KARAF-6764] Check for process status zombie in isRunning() new ebc875a This closes #1136 10d991b is described below commit 10d991bbf28704fb50b25b04a918e599459fd5ef Author: Mike Hummel <m...@mhus.de> AuthorDate: Sat Jun 13 22:43:09 2020 +0200 [KARAF-6764] Check for process status zombie in isRunning() --- util/src/main/java/org/apache/karaf/jpm/impl/ProcessImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/util/src/main/java/org/apache/karaf/jpm/impl/ProcessImpl.java b/util/src/main/java/org/apache/karaf/jpm/impl/ProcessImpl.java index c79e8ce..6b122a8 100644 --- a/util/src/main/java/org/apache/karaf/jpm/impl/ProcessImpl.java +++ b/util/src/main/java/org/apache/karaf/jpm/impl/ProcessImpl.java @@ -60,11 +60,11 @@ public class ProcessImpl implements Process { return ret == 0; } else { try { - java.lang.Process process = new java.lang.ProcessBuilder("ps", "-p", Integer.toString(pid)).start(); + java.lang.Process process = new java.lang.ProcessBuilder("ps", "-o", "stat", "-p", Integer.toString(pid)).start(); try (BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream()))) { r.readLine(); // skip headers String s = r.readLine(); - boolean running = s != null && s.length() > 0; + boolean running = s != null && s.length() > 0 && s.indexOf("Z") < 0; process.waitFor(); return running; }