org.apache.tomcat.jni
public class Proc extends Object
Version: $Revision: 467222 $, $Date: 2006-10-24 05:17:11 +0200 (Tue, 24 Oct 2006) $
Field Summary | |
---|---|
static int | APR_CHILD_BLOCK |
static int | APR_FULL_BLOCK |
static int | APR_FULL_NONBLOCK |
static int | APR_JUST_WAIT wait forever for the process to complete |
static int | APR_KILL_AFTER_TIMEOUT SIGTERM, wait 3 seconds, SIGKILL |
static int | APR_KILL_ALWAYS process is sent SIGKILL on apr_pool_t cleanup |
static int | APR_KILL_NEVER process is never sent any signals |
static int | APR_KILL_ONLY_ONCE send 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_NOWAIT wait for the specified process to finish |
static int | APR_NO_PIPE process exited and dumped a core file |
static int | APR_OC_REASON_DEATH child has died, caller must call unregister still |
static int | APR_OC_REASON_LOST somehow the child exited without us knowing ... buggy os? |
static int | APR_OC_REASON_RESTART a restart is occuring, perform any necessary cleanup (including
sending a special signal to child) |
static int | APR_OC_REASON_RUNNING a health check is occuring, for most maintainence functions
this is a no-op. |
static int | APR_OC_REASON_UNREGISTER unregister has been called, do whatever is necessary (including
kill the child) |
static int | APR_OC_REASON_UNWRITABLE write_fd is unwritable |
static int | APR_PARENT_BLOCK |
static int | APR_PROC_DETACH_DAEMONIZE Do not detach |
static int | APR_PROC_DETACH_FOREGROUND |
static int | APR_PROC_EXIT do not wait -- just see if it has finished |
static int | APR_PROC_SIGNAL process exited normally |
static int | APR_PROC_SIGNAL_CORE process exited due to a signal |
static int | APR_PROGRAM use the shell to invoke the program |
static int | APR_PROGRAM_ENV invoke the program directly, no copied env |
static int | APR_PROGRAM_PATH invoke the program, replicating our environment |
static int | APR_SHELLCM |
static int | APR_SHELLCMD_ENV find program on PATH, use our environment |
static int | APR_WAIT use the shell to invoke the program,
replicating our environment |
static int | MAX_ARGS_SIZE Detach |
static int | MAX_ENV_SIZE |
Method Summary | |
---|---|
static long | alloc(long cont)
Allocate apr_proc_t stucture 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. |
Parameters: cont The pool to use.
Parameters: 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.
Parameters: daemonize set to non-zero if the process should daemonize and become a background process, else it will stay in the foreground.
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.
Parameters: proc The process to terminate. sig How to kill the process.
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.
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.