Class Proc

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

@Deprecated public class Proc extends 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 final int
    Deprecated.
     
    static final int
    Deprecated.
     
    static final int
    Deprecated.
     
    static final int
    Deprecated.
    wait forever for the process to complete
    static final int
    Deprecated.
    SIGTERM, wait 3 seconds, SIGKILL
    static final int
    Deprecated.
    process is sent SIGKILL on apr_pool_t cleanup
    static final int
    Deprecated.
    process is never sent any signals
    static final int
    Deprecated.
    send SIGTERM and then wait
    static final int
    Deprecated.
     
    static final int
    Deprecated.
     
    static final int
    Deprecated.
     
    static final int
    Deprecated.
     
    static final int
    Deprecated.
     
    static final int
    Deprecated.
    do not wait -- just see if it has finished
    static final int
    Deprecated.
    child has died, caller must call unregister still
    static final int
    Deprecated.
    somehow the child exited without us knowing ... buggy os?
    static final int
    Deprecated.
    a restart is occurring, perform any necessary cleanup (including sending a special signal to child)
    static final int
    Deprecated.
    a health check is occurring, for most maintenance functions this is a no-op.
    static final int
    Deprecated.
    unregister has been called, do whatever is necessary (including kill the child)
    static final int
    Deprecated.
    write_fd is unwritable
    static final int
    Deprecated.
     
    static final int
    Deprecated.
    Do not detach
    static final int
    Deprecated.
     
    static final int
    Deprecated.
    process exited normally
    static final int
    Deprecated.
    process exited due to a signal
    static final int
    Deprecated.
    process exited and dumped a core file
    static final int
    Deprecated.
    invoke the program directly, no copied env
    static final int
    Deprecated.
    invoke the program, replicating our environment
    static final int
    Deprecated.
    find program on PATH, use our environment
    static final int
    Deprecated.
    use the shell to invoke the program
    static final int
    Deprecated.
    use the shell to invoke the program, replicating our environment
    static final int
    Deprecated.
    wait for the specified process to finish
    static final int
    Deprecated.
    Detach
    static final int
    Deprecated.
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated.
     
  • Method Summary

    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, String progname, String[] args, 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 Details

    • APR_SHELLCM

      public static final int APR_SHELLCM
      Deprecated.
      use the shell to invoke the program
      See Also:
    • APR_PROGRAM

      public static final int APR_PROGRAM
      Deprecated.
      invoke the program directly, no copied env
      See Also:
    • APR_PROGRAM_ENV

      public static final int APR_PROGRAM_ENV
      Deprecated.
      invoke the program, replicating our environment
      See Also:
    • APR_PROGRAM_PATH

      public static final int APR_PROGRAM_PATH
      Deprecated.
      find program on PATH, use our environment
      See Also:
    • APR_SHELLCMD_ENV

      public static final int APR_SHELLCMD_ENV
      Deprecated.
      use the shell to invoke the program, replicating our environment
      See Also:
    • APR_WAIT

      public static final int APR_WAIT
      Deprecated.
      wait for the specified process to finish
      See Also:
    • APR_NOWAIT

      public static final int APR_NOWAIT
      Deprecated.
      do not wait -- just see if it has finished
      See Also:
    • APR_PROC_EXIT

      public static final int APR_PROC_EXIT
      Deprecated.
      process exited normally
      See Also:
    • APR_PROC_SIGNAL

      public static final int APR_PROC_SIGNAL
      Deprecated.
      process exited due to a signal
      See Also:
    • APR_PROC_SIGNAL_CORE

      public static final int APR_PROC_SIGNAL_CORE
      Deprecated.
      process exited and dumped a core file
      See Also:
    • APR_NO_PIPE

      public static final int APR_NO_PIPE
      Deprecated.
      See Also:
    • APR_FULL_BLOCK

      public static final int APR_FULL_BLOCK
      Deprecated.
      See Also:
    • APR_FULL_NONBLOCK

      public static final int APR_FULL_NONBLOCK
      Deprecated.
      See Also:
    • APR_PARENT_BLOCK

      public static final int APR_PARENT_BLOCK
      Deprecated.
      See Also:
    • APR_CHILD_BLOCK

      public static final int APR_CHILD_BLOCK
      Deprecated.
      See Also:
    • APR_LIMIT_CPU

      public static final int APR_LIMIT_CPU
      Deprecated.
      See Also:
    • APR_LIMIT_MEM

      public static final int APR_LIMIT_MEM
      Deprecated.
      See Also:
    • APR_LIMIT_NPROC

      public static final int APR_LIMIT_NPROC
      Deprecated.
      See Also:
    • APR_LIMIT_NOFILE

      public static final int APR_LIMIT_NOFILE
      Deprecated.
      See Also:
    • APR_OC_REASON_DEATH

      public static final int APR_OC_REASON_DEATH
      Deprecated.
      child has died, caller must call unregister still
      See Also:
    • APR_OC_REASON_UNWRITABLE

      public static final int APR_OC_REASON_UNWRITABLE
      Deprecated.
      write_fd is unwritable
      See Also:
    • 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:
    • 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:
    • APR_OC_REASON_LOST

      public static final int APR_OC_REASON_LOST
      Deprecated.
      somehow the child exited without us knowing ... buggy os?
      See Also:
    • 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:
    • APR_KILL_NEVER

      public static final int APR_KILL_NEVER
      Deprecated.
      process is never sent any signals
      See Also:
    • APR_KILL_ALWAYS

      public static final int APR_KILL_ALWAYS
      Deprecated.
      process is sent SIGKILL on apr_pool_t cleanup
      See Also:
    • APR_KILL_AFTER_TIMEOUT

      public static final int APR_KILL_AFTER_TIMEOUT
      Deprecated.
      SIGTERM, wait 3 seconds, SIGKILL
      See Also:
    • APR_JUST_WAIT

      public static final int APR_JUST_WAIT
      Deprecated.
      wait forever for the process to complete
      See Also:
    • APR_KILL_ONLY_ONCE

      public static final int APR_KILL_ONLY_ONCE
      Deprecated.
      send SIGTERM and then wait
      See Also:
    • APR_PROC_DETACH_FOREGROUND

      public static final int APR_PROC_DETACH_FOREGROUND
      Deprecated.
      See Also:
    • APR_PROC_DETACH_DAEMONIZE

      public static final int APR_PROC_DETACH_DAEMONIZE
      Deprecated.
      Do not detach
      See Also:
    • MAX_ARGS_SIZE

      public static final int MAX_ARGS_SIZE
      Deprecated.
      Detach
      See Also:
    • MAX_ENV_SIZE

      public static final int MAX_ENV_SIZE
      Deprecated.
      See Also:
  • Constructor Details

    • Proc

      public Proc()
      Deprecated.
  • Method Details

    • 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, String progname, String[] args, 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