< prev index next >

src/java.base/share/classes/java/lang/ProcessHandleImpl.java

Print this page
rev 12544 : 8131168: Refactor ProcessHandleImpl_*.c and add implememtation for AIX
Reviewed-by: rriggs, smarks

*** 470,480 **** } /** * Implementation of ProcessHandle.Info. * Information snapshot about a process. ! * The attributes of a process vary by operating system and not available * in all implementations. Additionally, information about other processes * is limited by the operating system privileges of the process making the request. * If a value is not available, either a {@code null} or {@code -1} is stored. * The accessor methods return {@code null} if the value is not available. */ --- 470,480 ---- } /** * Implementation of ProcessHandle.Info. * Information snapshot about a process. ! * The attributes of a process vary by operating system and are not available * in all implementations. Additionally, information about other processes * is limited by the operating system privileges of the process making the request. * If a value is not available, either a {@code null} or {@code -1} is stored. * The accessor methods return {@code null} if the value is not available. */
*** 494,510 **** --- 494,512 ---- * @param pid of the native process */ private native void info0(long pid); String command; + String commandLine; String[] arguments; long startTime; long totalTime; String user; Info() { command = null; + commandLine = null; arguments = null; startTime = -1L; totalTime = -1L; user = null; }
*** 537,546 **** --- 539,557 ---- public Optional<String> command() { return Optional.ofNullable(command); } @Override + public Optional<String> commandLine() { + if (command != null && arguments != null) { + return Optional.of(command + " " + String.join(" ", arguments)); + } else { + return Optional.ofNullable(commandLine); + } + } + + @Override public Optional<String[]> arguments() { return Optional.ofNullable(arguments); } @Override
*** 578,587 **** --- 589,603 ---- if (arguments != null && arguments.length > 0) { if (sb.length() != 0) sb.append(", "); sb.append("args: "); sb.append(Arrays.toString(arguments)); } + if (commandLine != null) { + if (sb.length() != 0) sb.append(", "); + sb.append("cmdLine: "); + sb.append(commandLine); + } if (startTime > 0) { if (sb.length() != 0) sb.append(", "); sb.append("startTime: "); sb.append(startInstant()); }
< prev index next >