public class Proc
extends java.lang.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,
java.lang.String progname,
java.lang.String[] args,
java.lang.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,
         java.lang.String progname,
         java.lang.String[] args,
         java.lang.String[] env,
         long attr,
         long pool)
progname - 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-2015 Apache Software Foundation. All Rights Reserved.