# Interface ExecOperations

@ServiceScope({org.gradle.internal.service.scopes.Scope.Build.class,org.gradle.internal.service.scopes.Scope.Project.class}) public interface ExecOperations
Process execution operations.

An instance of this type can be injected into a task, plugin or other object by annotating a public constructor or property getter method with `javax.inject.Inject`.

Since:
  6.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ExecResult`
  `exec(Action<? super ExecSpec> action)`
  Executes the specified external process.
  `ExecResult`
  `javaexec(Action<? super JavaExecSpec> action)`
  Executes the specified external `java` process.

- ## Method Details

  - ### exec

    ExecResult exec(Action<? super ExecSpec> action)
    Executes the specified external process. The given action is used to configure an `ExecSpec`, which is then used to run an external process.
    Parameters:
      `action` - Action to configure the ExecSpec
    Returns:
      `ExecResult` that can be used to check if the execution worked

  - ### javaexec

    ExecResult javaexec(Action<? super JavaExecSpec> action)
    Executes the specified external `java` process. The given action is used to configure an `JavaExecSpec`, which is then used to run an external `java` process.
    Parameters:
      `action` - Action to configure the JavaExecSpec
    Returns:
      `ExecResult` that can be used to check if the execution worked