|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.tomcat.jni.Proc
public class Proc
Proc
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_NO_PIPE
process exited and dumped a core file |
static int |
APR_NOWAIT
wait for the specified process to finish |
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
|
Constructor Summary | |
---|---|
Proc()
|
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,
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
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
Constructor Detail |
---|
public Proc()
Method Detail |
---|
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.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |