public class Proc extends Object
| Modifier and Type | Field and Description | 
|---|---|
| static int | APR_CHILD_BLOCK | 
| static int | APR_FULL_BLOCK | 
| static int | APR_FULL_NONBLOCK | 
| static int | APR_JUST_WAITwait forever for the process to complete | 
| static int | APR_KILL_AFTER_TIMEOUTSIGTERM, wait 3 seconds, SIGKILL | 
| static int | APR_KILL_ALWAYSprocess is sent SIGKILL on apr_pool_t cleanup | 
| static int | APR_KILL_NEVERprocess is never sent any signals | 
| static int | APR_KILL_ONLY_ONCEsend SIGTERM and then wait | 
| static int | APR_LIMIT_CPU | 
| static int | APR_LIMIT_MEM | 
| static int | APR_LIMIT_NOFILE | 
| static int | APR_LIMIT_NPROC | 
| static int | APR_NO_PIPEprocess exited and dumped a core file | 
| static int | APR_NOWAITwait for the specified process to finish | 
| static int | APR_OC_REASON_DEATHchild has died, caller must call unregister still | 
| static int | APR_OC_REASON_LOSTsomehow the child exited without us knowing ... buggy os? | 
| static int | APR_OC_REASON_RESTARTa restart is occurring, perform any necessary cleanup (including
 sending a special signal to child) | 
| static int | APR_OC_REASON_RUNNINGa health check is occurring, for most maintenance functions
 this is a no-op. | 
| static int | APR_OC_REASON_UNREGISTERunregister has been called, do whatever is necessary (including
 kill the child) | 
| static int | APR_OC_REASON_UNWRITABLEwrite_fd is unwritable | 
| static int | APR_PARENT_BLOCK | 
| static int | APR_PROC_DETACH_DAEMONIZEDo not detach | 
| static int | APR_PROC_DETACH_FOREGROUND | 
| static int | APR_PROC_EXITdo not wait -- just see if it has finished | 
| static int | APR_PROC_SIGNALprocess exited normally | 
| static int | APR_PROC_SIGNAL_COREprocess exited due to a signal | 
| static int | APR_PROGRAMuse the shell to invoke the program | 
| static int | APR_PROGRAM_ENVinvoke the program directly, no copied env | 
| static int | APR_PROGRAM_PATHinvoke the program, replicating our environment | 
| static int | APR_SHELLCM | 
| static int | APR_SHELLCMD_ENVfind program on PATH, use our environment | 
| static int | APR_WAITuse the shell to invoke the program,
   replicating our environment | 
| static int | MAX_ARGS_SIZEDetach | 
| static int | MAX_ENV_SIZE | 
| Constructor and Description | 
|---|
| Proc() | 
| Modifier and Type | Method and Description | 
|---|---|
| static long | alloc(long cont)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)Create a new process and execute a new program within that process. | 
| static int | detach(int daemonize)Detach the process from the controlling terminal. | 
| static int | fork(long[] proc,
    long cont)This is currently the only non-portable call in APR. | 
| static int | kill(long proc,
    int sig)Terminate a process. | 
| static int | wait(long proc,
    int[] exit,
    int waithow)Wait for a child process to die | 
| static int | waitAllProcs(long proc,
            int[] exit,
            int waithow,
            long pool)Wait for any current child process to die and return information
 about that child. | 
public static final int APR_SHELLCM
public static final int APR_PROGRAM
public static final int APR_PROGRAM_ENV
public static final int APR_PROGRAM_PATH
public static final int APR_SHELLCMD_ENV
public static final int APR_WAIT
public static final int APR_NOWAIT
public static final int APR_PROC_EXIT
public static final int APR_PROC_SIGNAL
public static final int APR_PROC_SIGNAL_CORE
public static final int APR_NO_PIPE
public static final int APR_FULL_BLOCK
public static final int APR_FULL_NONBLOCK
public static final int APR_PARENT_BLOCK
public static final int APR_CHILD_BLOCK
public static final int APR_LIMIT_CPU
public static final int APR_LIMIT_MEM
public static final int APR_LIMIT_NPROC
public static final int APR_LIMIT_NOFILE
public static final int APR_OC_REASON_DEATH
public static final int APR_OC_REASON_UNWRITABLE
public static final int APR_OC_REASON_RESTART
public static final int APR_OC_REASON_UNREGISTER
public static final int APR_OC_REASON_LOST
public static final int APR_OC_REASON_RUNNING
public static final int APR_KILL_NEVER
public static final int APR_KILL_ALWAYS
public static final int APR_KILL_AFTER_TIMEOUT
public static final int APR_JUST_WAIT
public static final int APR_KILL_ONLY_ONCE
public static final int APR_PROC_DETACH_FOREGROUND
public static final int APR_PROC_DETACH_DAEMONIZE
public static final int MAX_ARGS_SIZE
public static final int MAX_ENV_SIZE
public static long alloc(long cont)
cont - The pool to use.public static int fork(long[] proc,
       long cont)
proc - The resulting process handle.cont - The pool to use.public static int create(long proc,
         String progname,
         String[] args,
         String[] env,
         long attr,
         long pool)
proc - The process handleprogname - The program to runargs - 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
 processpool - The pool to use.public static int wait(long proc,
       int[] exit,
       int waithow)
proc - The process handle that corresponds to the desired child processexit - 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.
 APR_CHILD_DONE -- child is no longer running. APR_CHILD_NOTDONE -- child is still running.
public static int waitAllProcs(long proc,
               int[] exit,
               int waithow,
               long pool)
proc - Pointer to NULL on entry, will be filled out with child's
             informationexit - 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.public static int detach(int daemonize)
daemonize - set to non-zero if the process should daemonize
                  and become a background process, else it will
                  stay in the foreground.public static int kill(long proc,
       int sig)
proc - The process to terminate.sig - How to kill the process.Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.