On Fri, 31 Oct 2025 14:32:24 GMT, Roger Riggs <[email protected]> wrote:
>> The teardown of a Process launched by `ProcessBuilder` includes the closing >> of streams and ensuring the termination of the process is the responsibility >> of the caller. The `Process.close()` method provides a clear and obvious way >> to ensure all the streams are closed and the process terminated. >> >> The try-with-resources statement is frequently used to open streams and >> ensure they are closed on exiting the block. By implementing >> `AutoClosable.close()` the completeness of closing the streams and process >> termination can be done by try-with-resources. >> >> The actions of the `close()` method are to close each stream and destroy the >> process if it has not terminated. > > Roger Riggs has updated the pull request incrementally with two additional > commits since the last revision: > > - Correct reference to ProcessExamples.java to use the `file` tag. > - Miscellaneous javadoc improvements suggested by reviewers. > Updated the example program to be a standalone program as might be run > as a compact source file main program. Looks really good. Below nits are just that -- nits, and are optional. Thanks for your perseverance. src/java.base/share/classes/java/lang/Process.java line 130: > 128: * Processes that have terminated or been terminated are monitored and > their resources released. > 129: * > 130: * <p>Streams should be closed when they are no longer needed, to avoid > delaying Since there's no way to link to `Reader.close`, `Writer.close`, `InputStream.close` and `OutputStream.close` at the same time, consider linking to some of those from `@see` tags. src/java.base/share/classes/java/lang/snippet-files/ProcessExamples.java line 36: > 34: // Read all lines and print each > 35: reader.readAllLines() > 36: .forEach(IO::println); Using `IO` instead of `System.out` in this particular case is an extra touch; I like it! ------------- Marked as reviewed by prappo (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/26649#pullrequestreview-3404603961 PR Review Comment: https://git.openjdk.org/jdk/pull/26649#discussion_r2481654961 PR Review Comment: https://git.openjdk.org/jdk/pull/26649#discussion_r2481645906
