Class 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 Detail

      • APR_PROGRAM

        public static final int APR_PROGRAM
        Deprecated.
        use the shell to invoke the program
        See Also:
        Constant Field Values
      • APR_PROGRAM_ENV

        public static final int APR_PROGRAM_ENV
        Deprecated.
        invoke the program directly, no copied env
        See Also:
        Constant Field Values
      • APR_PROGRAM_PATH

        public static final int APR_PROGRAM_PATH
        Deprecated.
        invoke the program, replicating our environment
        See Also:
        Constant Field Values
      • APR_SHELLCMD_ENV

        public static final int APR_SHELLCMD_ENV
        Deprecated.
        find program on PATH, use our environment
        See Also:
        Constant Field Values
      • APR_WAIT

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

        public static final int APR_NOWAIT
        Deprecated.
        wait for the specified process to finish
        See Also:
        Constant Field Values
      • APR_PROC_EXIT

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

        public static final int APR_PROC_SIGNAL
        Deprecated.
        process exited normally
        See Also:
        Constant Field Values
      • APR_PROC_SIGNAL_CORE

        public static final int APR_PROC_SIGNAL_CORE
        Deprecated.
        process exited due to a signal
        See Also:
        Constant Field Values
      • APR_NO_PIPE

        public static final int APR_NO_PIPE
        Deprecated.
        process exited and dumped a core file
        See Also:
        Constant Field Values
      • APR_FULL_NONBLOCK

        public static final int APR_FULL_NONBLOCK
        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
    • 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,
                                 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