ProcessHandle.Info (Java SE 22 & JDK 22)
Description: declaration: module: java.base, package: java.lang, interface: ProcessHandle, interface: Info
Keywords: java.lang.ProcessHandle.Info interface

Module java.base
Package java.lang

# Interface ProcessHandle.Info

Enclosing interface:
  `ProcessHandle`

public static interface ProcessHandle.Info
Information snapshot about the process. The attributes of a process vary by operating system and are not available in all implementations. Information about processes is limited by the operating system privileges of the process making the request. The return types are `Optional<T>` allowing explicit tests and actions if the value is available.

Since:
  9

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Optional<String[]>`
  `arguments()`
  Returns an array of Strings of the arguments of the process.
  `Optional<String>`
  `command()`
  Returns the executable pathname of the process.
  `Optional<String>`
  `commandLine()`
  Returns the command line of the process.
  `Optional<Instant>`
  `startInstant()`
  Returns the start time of the process.
  `Optional<Duration>`
  `totalCpuDuration()`
  Returns the total cputime accumulated of the process.
  `Optional<String>`
  `user()`
  Return the user of the process.

- ## Method Details

  - ### command

    Optional<String> command()
    Returns the executable pathname of the process.
    Returns:
      an `Optional<String>` of the executable pathname of the process

  - ### commandLine

    Optional<String> commandLine()
    Returns the command line of the process.

    If `command()` and `arguments()` return non-empty optionals, this is simply a convenience method which concatenates the values of the two functions separated by spaces. Otherwise it will return a best-effort, platform dependent representation of the command line.

    API Note:
      Note that the returned executable pathname and the arguments may be truncated on some platforms due to system limitations.

      The executable pathname may contain only the name of the executable without the full path information. It is undecidable whether white space separates different arguments or is part of a single argument.

    Returns:
      an `Optional<String>` of the command line of the process

  - ### arguments

    Optional<String[]> arguments()
    Returns an array of Strings of the arguments of the process.
    API Note:
      On some platforms, native applications are free to change the arguments array after startup and this method may only show the changed values.
    Returns:
      an `Optional<String[]>` of the arguments of the process

  - ### startInstant

    Optional<Instant> startInstant()
    Returns the start time of the process.
    Returns:
      an `Optional<Instant>` of the start time of the process

  - ### totalCpuDuration

    Optional<Duration> totalCpuDuration()
    Returns the total cputime accumulated of the process.
    Returns:
      an `Optional<Duration>` for the accumulated total cputime

  - ### user

    Optional<String> user()
    Return the user of the process.
    Returns:
      an `Optional<String>` for the user of the process