diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java index 13d574bc67..22a976545f 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java @@ -32,13 +32,16 @@ import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.MemoryUsage; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Stream; import javax.swing.filechooser.FileSystemView; import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; import org.openide.modules.InstalledFileLocator; import org.openide.modules.Places; import org.openide.util.NbBundle; @@ -535,16 +538,12 @@ public class PlatformUtil { public static synchronized long[] getJavaPIDs(String argsSubQuery) { try { if (isWindowsOS()) { - Process process = Runtime.getRuntime().exec("wmic process where \"name='java.exe' AND commandline LIKE '%" + argsSubQuery + "%'\" get ProcessID"); - BufferedReader reader - = new BufferedReader(new InputStreamReader(process.getInputStream())); - List lines = new ArrayList<>(); - String line = null; - while ((line = reader.readLine()) != null) { - lines.add(line); - } - return lines.stream().skip(1).map(ln -> { + ProcessBuilder pb = new ProcessBuilder("wmic process where \"name='java.exe' AND commandline LIKE '%" + argsSubQuery + "%'\" get ProcessID"); + String output = IOUtils.toString(pb.start().getInputStream(), StandardCharsets.UTF_8); + String[] lines = output.split("\\r?\\n"); + + return Stream.of(lines).skip(1).map(ln -> { if (ln == null || ln.trim().isEmpty()) { return null; } @@ -561,14 +560,9 @@ public class PlatformUtil { } else { String sigarRegexQuery = argsSubQuery == null ? "" : argsSubQuery.replaceAll("_", ".").replaceAll("%", ".*"); - Process process = Runtime.getRuntime().exec("ps -ef | grep -E 'java.*" + sigarRegexQuery + "'"); - BufferedReader reader - = new BufferedReader(new InputStreamReader(process.getInputStream())); - List lines = new ArrayList<>(); - String line = null; - while ((line = reader.readLine()) != null) { - lines.add(line); - } + ProcessBuilder pb = new ProcessBuilder("ps -ef | grep -E 'java.*" + sigarRegexQuery + "'"); + String output = IOUtils.toString(pb.start().getInputStream(), StandardCharsets.UTF_8); + List lines = Arrays.asList(output.split("\\r?\\n")); if (lines.size() > 0) { // ignore last one as it will be the same as this command diff --git a/CoreLibs/build-mac.xml b/CoreLibs/build-mac.xml index 3bf78e6244..fa1e769dc4 100644 --- a/CoreLibs/build-mac.xml +++ b/CoreLibs/build-mac.xml @@ -1,13 +1,7 @@ - - - - diff --git a/CoreLibs/build-unix.xml b/CoreLibs/build-unix.xml index 2cf1d3442f..fa1e769dc4 100644 --- a/CoreLibs/build-unix.xml +++ b/CoreLibs/build-unix.xml @@ -1,13 +1,7 @@ - - - - diff --git a/CoreLibs/build-windows.xml b/CoreLibs/build-windows.xml index ab033b730f..fa1e769dc4 100644 --- a/CoreLibs/build-windows.xml +++ b/CoreLibs/build-windows.xml @@ -1,13 +1,7 @@ - - - - diff --git a/CoreLibs/ivy.xml b/CoreLibs/ivy.xml index 779fb52ea3..9c90bbc304 100644 --- a/CoreLibs/ivy.xml +++ b/CoreLibs/ivy.xml @@ -41,9 +41,6 @@ - - - diff --git a/CoreLibs/nbproject/project.properties b/CoreLibs/nbproject/project.properties index 1d686d5951..7c3b3fc496 100644 --- a/CoreLibs/nbproject/project.properties +++ b/CoreLibs/nbproject/project.properties @@ -109,7 +109,6 @@ file.reference.protobuf-java-3.19.4.jar=release/modules/ext/protobuf-java-3.19.4 file.reference.protobuf-java-util-3.19.4.jar=release/modules/ext/protobuf-java-util-3.19.4.jar file.reference.re2j-1.5.jar=release/modules/ext/re2j-1.5.jar file.reference.reload4j-1.2.19.jar=release/modules/ext/reload4j-1.2.19.jar -file.reference.sigar-1.6.4.jar=release/modules/ext/sigar-1.6.4.jar file.reference.slf4j-api-1.7.36.jar=release/modules/ext/slf4j-api-1.7.36.jar file.reference.slf4j-reload4j-1.7.36.jar=release/modules/ext/slf4j-reload4j-1.7.36.jar file.reference.threetenbp-1.5.2.jar=release/modules/ext/threetenbp-1.5.2.jar diff --git a/CoreLibs/nbproject/project.xml b/CoreLibs/nbproject/project.xml index 0432fa1476..8b0f52600d 100644 --- a/CoreLibs/nbproject/project.xml +++ b/CoreLibs/nbproject/project.xml @@ -445,17 +445,6 @@ org.freedesktop.gstreamer.message org.freedesktop.gstreamer.query org.freedesktop.gstreamer.webrtc - org.hyperic.jni - org.hyperic.sigar - org.hyperic.sigar.cmd - org.hyperic.sigar.jmx - org.hyperic.sigar.pager - org.hyperic.sigar.ptql - org.hyperic.sigar.shell - org.hyperic.sigar.test - org.hyperic.sigar.util - org.hyperic.sigar.vmware - org.hyperic.sigar.win32 org.imgscalr org.joda.time org.joda.time.base @@ -926,10 +915,6 @@ ext/reload4j-1.2.19.jar release/modules/ext/reload4j-1.2.19.jar - - ext/sigar-1.6.4.jar - release/modules/ext/sigar-1.6.4.jar - ext/slf4j-api-1.7.36.jar release/modules/ext/slf4j-api-1.7.36.jar diff --git a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties index 6c4bc4b0d3..3a47d18145 100644 --- a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties +++ b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties @@ -4,4 +4,3 @@ OpenIDE-Module-Long-Description=\ The libraries can also be imported by other modules. OpenIDE-Module-Name=Autopsy-CoreLibs OpenIDE-Module-Short-Description=Autopsy Core module external libraries -SigarLoader.linkErr.msg=Could not load sigar library for your environment (non-critical), OS-level metrics will be unavailable. diff --git a/build.xml b/build.xml index 7280526dd8..405d8b6db9 100644 --- a/build.xml +++ b/build.xml @@ -88,25 +88,13 @@ - - - - + + + diff --git a/thirdparty/sigar/1.6.4/sigar-native.zip b/thirdparty/sigar/1.6.4/sigar-native.zip deleted file mode 100644 index b87e9b1d93..0000000000 Binary files a/thirdparty/sigar/1.6.4/sigar-native.zip and /dev/null differ