RFR 9: 8077350 Process API Updates Implementation Review
Roger.Riggs at Oracle.com
Wed May 13 14:16:39 UTC 2015
Are there any comments about the use of java.util.Optional in the
Or a review of the changes?
On 5/11/2015 11:49 AM, Roger Riggs wrote:
> Please review clarifications and updates to the proposed Precess API.
> A few loose ends in the ProcessHandle API were identified.
> 1) The ProcessHandle.parent() method currently returns null if the
> parent cannot
> be determined and the ProcessHandle.of(PID) method returns null if the
> PID does not exist.
> It has been suggested to return an Optional<ProcessHandle> to make
> these methods more flexible and allow a fluent style and work better
> with streams.
> 2) The behavior of Processhandle.destroy and destroyForcibly are
> than Process.destroy and destroyForcibly. Those functions always
> succeed because
> they are children of the spawning process.
> In contrast, ProcessHandle.destroy and destroyForcible are requests to
> destroy the process and may not succeed due to operating system
> restrictions such
> as the process not being a child or not having enough privilege.
> The description of the methods needs to be clarified that it is a
> request to destroy
> and it may not succeed, In that case the destroy and destroyForcibly
> should indicate that the request was not successful. In particular,
> the caller
> may not want to wait for the process to terminate (its not going to).
> The proposed update is to return an Optional<ProcessHandle> .
> It can be streamed and can take advantage of the conditional
> operations on the Optional.
> 3) Using Optional is also attractive for the return values of the
> about a ProcessHandles, since not all values are available from every OS.
> The returns values of Info.command, arguments, startInstant,
> totalDuration, and user
> are proposed to be updated to return Optional<x>.
> It allows for more compact code and fewer explicit checks for null.
> Please review and comment:
> Diffs of the spec/javadoc from previous draft:
> Thanks, Roger
More information about the core-libs-dev