Package org.apache.tomcat.jni

## Class Proc

- java.lang.Object
- - org.apache.tomcat.jni.Proc

-     @Deprecated
      public class Proc
      extends java.lang.Object

  Deprecated.
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  Proc
  Author:
    Mladen Turk

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `APR_CHILD_BLOCK` | Deprecated.
    `static int` | `APR_FULL_BLOCK` | Deprecated.
    `static int` | `APR_FULL_NONBLOCK` | Deprecated.
    `static int` | `APR_JUST_WAIT` | Deprecated. wait forever for the process to complete
    `static int` | `APR_KILL_AFTER_TIMEOUT` | Deprecated. SIGTERM, wait 3 seconds, SIGKILL
    `static int` | `APR_KILL_ALWAYS` | Deprecated. process is sent SIGKILL on apr_pool_t cleanup
    `static int` | `APR_KILL_NEVER` | Deprecated. process is never sent any signals
    `static int` | `APR_KILL_ONLY_ONCE` | Deprecated. send SIGTERM and then wait
    `static int` | `APR_LIMIT_CPU` | Deprecated.
    `static int` | `APR_LIMIT_MEM` | Deprecated.
    `static int` | `APR_LIMIT_NOFILE` | Deprecated.
    `static int` | `APR_LIMIT_NPROC` | Deprecated.
    `static int` | `APR_NO_PIPE` | Deprecated.
    `static int` | `APR_NOWAIT` | Deprecated. do not wait -- just see if it has finished
    `static int` | `APR_OC_REASON_DEATH` | Deprecated. child has died, caller must call unregister still
    `static int` | `APR_OC_REASON_LOST` | Deprecated. somehow the child exited without us knowing ... buggy os?
    `static int` | `APR_OC_REASON_RESTART` | Deprecated. a restart is occurring, perform any necessary cleanup (including sending a special signal to child)
    `static int` | `APR_OC_REASON_RUNNING` | Deprecated. a health check is occurring, for most maintenance functions this is a no-op.
    `static int` | `APR_OC_REASON_UNREGISTER` | Deprecated. unregister has been called, do whatever is necessary (including kill the child)
    `static int` | `APR_OC_REASON_UNWRITABLE` | Deprecated. write_fd is unwritable
    `static int` | `APR_PARENT_BLOCK` | Deprecated.
    `static int` | `APR_PROC_DETACH_DAEMONIZE` | Deprecated. Do not detach
    `static int` | `APR_PROC_DETACH_FOREGROUND` | Deprecated.
    `static int` | `APR_PROC_EXIT` | Deprecated. process exited normally
    `static int` | `APR_PROC_SIGNAL` | Deprecated. process exited due to a signal
    `static int` | `APR_PROC_SIGNAL_CORE` | Deprecated. process exited and dumped a core file
    `static int` | `APR_PROGRAM` | Deprecated. invoke the program directly, no copied env
    `static int` | `APR_PROGRAM_ENV` | Deprecated. invoke the program, replicating our environment
    `static int` | `APR_PROGRAM_PATH` | Deprecated. find program on PATH, use our environment
    `static int` | `APR_SHELLCM` | Deprecated. use the shell to invoke the program
    `static int` | `APR_SHELLCMD_ENV` | Deprecated. use the shell to invoke the program, replicating our environment
    `static int` | `APR_WAIT` | Deprecated. wait for the specified process to finish
    `static int` | `MAX_ARGS_SIZE` | Deprecated. Detach
    `static int` | `MAX_ENV_SIZE` | Deprecated.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Proc()` | Deprecated.

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static long` | `alloc​(long cont)` | Deprecated. Allocate apr_proc_t structure from pool This is not an apr function.
    `static int` | `create​(long proc, java.lang.String progname, java.lang.String[] args, java.lang.String[] env, long attr, long pool)` | Deprecated. Create a new process and execute a new program within that process.
    `static int` | `detach​(int daemonize)` | Deprecated. Detach the process from the controlling terminal.
    `static int` | `fork​(long[] proc, long cont)` | Deprecated. This is currently the only non-portable call in APR.
    `static int` | `kill​(long proc, int sig)` | Deprecated. Terminate a process.
    `static int` | `wait​(long proc, int[] exit, int waithow)` | Deprecated. Wait for a child process to die
    `static int` | `waitAllProcs​(long proc, int[] exit, int waithow, long pool)` | Deprecated. Wait for any current child process to die and return information about that child.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### APR_SHELLCM

          public static final int APR_SHELLCM

      Deprecated.
      use the shell to invoke the program
      See Also:
        Constant Field Values

    - #### APR_PROGRAM

          public static final int APR_PROGRAM

      Deprecated.
      invoke the program directly, no copied env
      See Also:
        Constant Field Values

    - #### APR_PROGRAM_ENV

          public static final int APR_PROGRAM_ENV

      Deprecated.
      invoke the program, replicating our environment
      See Also:
        Constant Field Values

    - #### APR_PROGRAM_PATH

          public static final int APR_PROGRAM_PATH

      Deprecated.
      find program on PATH, use our environment
      See Also:
        Constant Field Values

    - #### APR_SHELLCMD_ENV

          public static final int APR_SHELLCMD_ENV

      Deprecated.
      use the shell to invoke the program, replicating our environment
      See Also:
        Constant Field Values

    - #### APR_WAIT

          public static final int APR_WAIT

      Deprecated.
      wait for the specified process to finish
      See Also:
        Constant Field Values

    - #### APR_NOWAIT

          public static final int APR_NOWAIT

      Deprecated.
      do not wait -- just see if it has finished
      See Also:
        Constant Field Values

    - #### APR_PROC_EXIT

          public static final int APR_PROC_EXIT

      Deprecated.
      process exited normally
      See Also:
        Constant Field Values

    - #### APR_PROC_SIGNAL

          public static final int APR_PROC_SIGNAL

      Deprecated.
      process exited due to a signal
      See Also:
        Constant Field Values

    - #### APR_PROC_SIGNAL_CORE

          public static final int APR_PROC_SIGNAL_CORE

      Deprecated.
      process exited and dumped a core file
      See Also:
        Constant Field Values

    - #### APR_NO_PIPE

          public static final int APR_NO_PIPE

      Deprecated.
      See Also:
        Constant Field Values

    - #### APR_FULL_BLOCK

          public static final int APR_FULL_BLOCK

      Deprecated.
      See Also:
        Constant Field Values

    - #### APR_FULL_NONBLOCK

          public static final int APR_FULL_NONBLOCK

      Deprecated.
      See Also:
        Constant Field Values

    - #### APR_PARENT_BLOCK

          public static final int APR_PARENT_BLOCK

      Deprecated.
      See Also:
        Constant Field Values

    - #### APR_CHILD_BLOCK

          public static final int APR_CHILD_BLOCK

      Deprecated.
      See Also:
        Constant Field Values

    - #### APR_LIMIT_CPU

          public static final int APR_LIMIT_CPU

      Deprecated.
      See Also:
        Constant Field Values

    - #### APR_LIMIT_MEM

          public static final int APR_LIMIT_MEM

      Deprecated.
      See Also:
        Constant Field Values

    - #### APR_LIMIT_NPROC

          public static final int APR_LIMIT_NPROC

      Deprecated.
      See Also:
        Constant Field Values

    - #### APR_LIMIT_NOFILE

          public static final int APR_LIMIT_NOFILE

      Deprecated.
      See Also:
        Constant Field Values

    - #### APR_OC_REASON_DEATH

          public static final int APR_OC_REASON_DEATH

      Deprecated.
      child has died, caller must call unregister still
      See Also:
        Constant Field Values

    - #### APR_OC_REASON_UNWRITABLE

          public static final int APR_OC_REASON_UNWRITABLE

      Deprecated.
      write_fd is unwritable
      See Also:
        Constant Field Values

    - #### APR_OC_REASON_RESTART

          public static final int APR_OC_REASON_RESTART

      Deprecated.
      a restart is occurring, perform any necessary cleanup (including sending a special signal to child)
      See Also:
        Constant Field Values

    - #### APR_OC_REASON_UNREGISTER

          public static final int APR_OC_REASON_UNREGISTER

      Deprecated.
      unregister has been called, do whatever is necessary (including kill the child)
      See Also:
        Constant Field Values

    - #### APR_OC_REASON_LOST

          public static final int APR_OC_REASON_LOST

      Deprecated.
      somehow the child exited without us knowing ... buggy os?
      See Also:
        Constant Field Values

    - #### APR_OC_REASON_RUNNING

          public static final int APR_OC_REASON_RUNNING

      Deprecated.
      a health check is occurring, for most maintenance functions this is a no-op.
      See Also:
        Constant Field Values

    - #### APR_KILL_NEVER

          public static final int APR_KILL_NEVER

      Deprecated.
      process is never sent any signals
      See Also:
        Constant Field Values

    - #### APR_KILL_ALWAYS

          public static final int APR_KILL_ALWAYS

      Deprecated.
      process is sent SIGKILL on apr_pool_t cleanup
      See Also:
        Constant Field Values

    - #### APR_KILL_AFTER_TIMEOUT

          public static final int APR_KILL_AFTER_TIMEOUT

      Deprecated.
      SIGTERM, wait 3 seconds, SIGKILL
      See Also:
        Constant Field Values

    - #### APR_JUST_WAIT

          public static final int APR_JUST_WAIT

      Deprecated.
      wait forever for the process to complete
      See Also:
        Constant Field Values

    - #### APR_KILL_ONLY_ONCE

          public static final int APR_KILL_ONLY_ONCE

      Deprecated.
      send SIGTERM and then wait
      See Also:
        Constant Field Values

    - #### APR_PROC_DETACH_FOREGROUND

          public static final int APR_PROC_DETACH_FOREGROUND

      Deprecated.
      See Also:
        Constant Field Values

    - #### APR_PROC_DETACH_DAEMONIZE

          public static final int APR_PROC_DETACH_DAEMONIZE

      Deprecated.
      Do not detach
      See Also:
        Constant Field Values

    - #### MAX_ARGS_SIZE

          public static final int MAX_ARGS_SIZE

      Deprecated.
      Detach
      See Also:
        Constant Field Values

    - #### MAX_ENV_SIZE

          public static final int MAX_ENV_SIZE

      Deprecated.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Proc

          public Proc()

      Deprecated.

  - ### Method Detail

    - #### alloc

          public static long alloc​(long cont)

      Deprecated.
      Allocate apr_proc_t structure from pool This is not an apr function.
      Parameters:
        `cont` - The pool to use.
      Returns:
        the pointer

    - #### fork

          public static int fork​(long[] proc,
                                 long cont)

      Deprecated.
      This is currently the only non-portable call in APR. This executes a standard unix fork.
      Parameters:
        `proc` - The resulting process handle.
        `cont` - The pool to use.
      Returns:
        APR_INCHILD for the child, and APR_INPARENT for the parent or an error.

    - #### create

          public static int create​(long proc,
                                   java.lang.String progname,
                                   java.lang.String[] args,
                                   java.lang.String[] env,
                                   long attr,
                                   long pool)

      Deprecated.
      Create a new process and execute a new program within that process. This function returns without waiting for the new process to terminate; use apr_proc_wait for that.
      Parameters:
        `proc` - The process handle
        `progname` - The program to run
        `args` - The arguments to pass to the new program. The first one should be the program name.
        `env` - The new environment table for the new process. This should be a list of NULL-terminated strings. This argument is ignored for APR_PROGRAM_ENV, APR_PROGRAM_PATH, and APR_SHELLCMD_ENV types of commands.
        `attr` - The procattr we should use to determine how to create the new process
        `pool` - The pool to use.
      Returns:
        The resulting process handle.

    - #### wait

          public static int wait​(long proc,
                                 int[] exit,
                                 int waithow)

      Deprecated.
      Wait for a child process to die
      Parameters:
        `proc` - The process handle that corresponds to the desired child process
        `exit` - exit[0] The returned exit status of the child, if a child process dies, or the signal that caused the child to die. On platforms that don't support obtaining this information, the status parameter will be returned as APR_ENOTIMPL. exit[1] Why the child died, the bitwise or of:

             APR_PROC_EXIT         -- process terminated normally
             APR_PROC_SIGNAL       -- process was killed by a signal
             APR_PROC_SIGNAL_CORE  -- process was killed by a signal, and
                                      generated a core dump.

        `waithow` - How should we wait. One of:

             APR_WAIT   -- block until the child process dies.
             APR_NOWAIT -- return immediately regardless of if the
                           child is dead or not.

      Returns:
        The childs status is in the return code to this process. It is one of:

             APR_CHILD_DONE     -- child is no longer running.
             APR_CHILD_NOTDONE  -- child is still running.

    - #### waitAllProcs

          public static int waitAllProcs​(long proc,
                                         int[] exit,
                                         int waithow,
                                         long pool)

      Deprecated.
      Wait for any current child process to die and return information about that child.
      Parameters:
        `proc` - Pointer to NULL on entry, will be filled out with child's information
        `exit` - exit[0] The returned exit status of the child, if a child process dies, or the signal that caused the child to die. On platforms that don't support obtaining this information, the status parameter will be returned as APR_ENOTIMPL. exit[1] Why the child died, the bitwise or of:

             APR_PROC_EXIT         -- process terminated normally
             APR_PROC_SIGNAL       -- process was killed by a signal
             APR_PROC_SIGNAL_CORE  -- process was killed by a signal, and
                                      generated a core dump.

        `waithow` - How should we wait. One of:

             APR_WAIT   -- block until the child process dies.
             APR_NOWAIT -- return immediately regardless of if the
                           child is dead or not.

        `pool` - Pool to allocate child information out of.
      Returns:
        the operation status

    - #### detach

          public static int detach​(int daemonize)

      Deprecated.
      Detach the process from the controlling terminal.
      Parameters:
        `daemonize` - set to non-zero if the process should daemonize and become a background process, else it will stay in the foreground.
      Returns:
        the operation status

    - #### kill

          public static int kill​(long proc,
                                 int sig)

      Deprecated.
      Terminate a process.
      Parameters:
        `proc` - The process to terminate.
        `sig` - How to kill the process.
      Returns:
        the operation status