Package org.apache.tomcat.jni

# Class Proc

java.lang.Object
org.apache.tomcat.jni.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 Summary

Fields
Modifier and Type
Field
Description
`static final int`
`APR_CHILD_BLOCK`
Deprecated.
`static final int`
`APR_FULL_BLOCK`
Deprecated.
`static final int`
`APR_FULL_NONBLOCK`
Deprecated.
`static final int`
`APR_JUST_WAIT`
Deprecated.
wait forever for the process to complete
`static final int`
`APR_KILL_AFTER_TIMEOUT`
Deprecated.
SIGTERM, wait 3 seconds, SIGKILL
`static final int`
`APR_KILL_ALWAYS`
Deprecated.
process is sent SIGKILL on apr_pool_t cleanup
`static final int`
`APR_KILL_NEVER`
Deprecated.
process is never sent any signals
`static final int`
`APR_KILL_ONLY_ONCE`
Deprecated.
send SIGTERM and then wait
`static final int`
`APR_LIMIT_CPU`
Deprecated.
`static final int`
`APR_LIMIT_MEM`
Deprecated.
`static final int`
`APR_LIMIT_NOFILE`
Deprecated.
`static final int`
`APR_LIMIT_NPROC`
Deprecated.
`static final int`
`APR_NO_PIPE`
Deprecated.
`static final int`
`APR_NOWAIT`
Deprecated.
do not wait -- just see if it has finished
`static final int`
`APR_OC_REASON_DEATH`
Deprecated.
child has died, caller must call unregister still
`static final int`
`APR_OC_REASON_LOST`
Deprecated.
somehow the child exited without us knowing ... buggy os?
`static final int`
`APR_OC_REASON_RESTART`
Deprecated.
a restart is occurring, perform any necessary cleanup (including sending a special signal to child)
`static final int`
`APR_OC_REASON_RUNNING`
Deprecated.
a health check is occurring, for most maintenance functions this is a no-op.
`static final int`
`APR_OC_REASON_UNREGISTER`
Deprecated.
unregister has been called, do whatever is necessary (including kill the child)
`static final int`
`APR_OC_REASON_UNWRITABLE`
Deprecated.
write_fd is unwritable
`static final int`
`APR_PARENT_BLOCK`
Deprecated.
`static final int`
`APR_PROC_DETACH_DAEMONIZE`
Deprecated.
Do not detach
`static final int`
`APR_PROC_DETACH_FOREGROUND`
Deprecated.
`static final int`
`APR_PROC_EXIT`
Deprecated.
process exited normally
`static final int`
`APR_PROC_SIGNAL`
Deprecated.
process exited due to a signal
`static final int`
`APR_PROC_SIGNAL_CORE`
Deprecated.
process exited and dumped a core file
`static final int`
`APR_PROGRAM`
Deprecated.
invoke the program directly, no copied env
`static final int`
`APR_PROGRAM_ENV`
Deprecated.
invoke the program, replicating our environment
`static final int`
`APR_PROGRAM_PATH`
Deprecated.
find program on PATH, use our environment
`static final int`
`APR_SHELLCM`
Deprecated.
use the shell to invoke the program
`static final int`
`APR_SHELLCMD_ENV`
Deprecated.
use the shell to invoke the program, replicating our environment
`static final int`
`APR_WAIT`
Deprecated.
wait for the specified process to finish
`static final int`
`MAX_ARGS_SIZE`
Deprecated.
Detach
`static final int`
`MAX_ENV_SIZE`
Deprecated.

## Constructor Summary

Constructors
Constructor
Description
`Proc()`
Deprecated.

## Method Summary

Modifier and Type
Method
Description
`static long`
`alloc(long cont)`
Deprecated.
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)`
Deprecated.
Create a new process and execute a new program within that process.
`static int`
`detach(int daemonize)`
Deprecated.
Detach the process from the controlling terminal.
`static int`
`fork(long[] proc, long cont)`
Deprecated.
This is currently the only non-portable call in APR.
`static int`
`kill(long proc, int sig)`
Deprecated.
Terminate a process.
`static int`
`wait(long proc, int[] exit, int waithow)`
Deprecated.
Wait for a child process to die
`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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### APR_SHELLCM

public static final int APR_SHELLCM
Deprecated.
use the shell to invoke the program

See Also:
  - Constant Field Values

### APR_PROGRAM

public static final int APR_PROGRAM
Deprecated.
invoke the program directly, no copied env

See Also:
  - Constant Field Values

### APR_PROGRAM_ENV

public static final int APR_PROGRAM_ENV
Deprecated.
invoke the program, replicating our environment

See Also:
  - Constant Field Values

### APR_PROGRAM_PATH

public static final int APR_PROGRAM_PATH
Deprecated.
find program on PATH, use our environment

See Also:
  - Constant Field Values

### APR_SHELLCMD_ENV

public static final int APR_SHELLCMD_ENV
Deprecated.
use the shell to invoke the program, replicating our environment

See Also:
  - Constant Field Values

### APR_WAIT

public static final int APR_WAIT
Deprecated.
wait for the specified process to finish

See Also:
  - Constant Field Values

### APR_NOWAIT

public static final int APR_NOWAIT
Deprecated.
do not wait -- just see if it has finished

See Also:
  - Constant Field Values

### APR_PROC_EXIT

public static final int APR_PROC_EXIT
Deprecated.
process exited normally

See Also:
  - Constant Field Values

### APR_PROC_SIGNAL

public static final int APR_PROC_SIGNAL
Deprecated.
process exited due to a signal

See Also:
  - Constant Field Values

### APR_PROC_SIGNAL_CORE

public static final int APR_PROC_SIGNAL_CORE
Deprecated.
process exited and dumped a core file

See Also:
  - Constant Field Values

### APR_NO_PIPE

public static final int APR_NO_PIPE
Deprecated.

See Also:
  - Constant Field Values

### APR_FULL_BLOCK

public static final int APR_FULL_BLOCK
Deprecated.

See Also:
  - Constant Field Values

### APR_FULL_NONBLOCK

public static final int APR_FULL_NONBLOCK
Deprecated.

See Also:
  - Constant Field Values

### APR_PARENT_BLOCK

public static final int APR_PARENT_BLOCK
Deprecated.

See Also:
  - Constant Field Values

### APR_CHILD_BLOCK

public static final int APR_CHILD_BLOCK
Deprecated.

See Also:
  - Constant Field Values

### APR_LIMIT_CPU

public static final int APR_LIMIT_CPU
Deprecated.

See Also:
  - Constant Field Values

### APR_LIMIT_MEM

public static final int APR_LIMIT_MEM
Deprecated.

See Also:
  - Constant Field Values

### APR_LIMIT_NPROC

public static final int APR_LIMIT_NPROC
Deprecated.

See Also:
  - Constant Field Values

### APR_LIMIT_NOFILE

public static final int APR_LIMIT_NOFILE
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

### MAX_ENV_SIZE

public static final int MAX_ENV_SIZE
Deprecated.

See Also:
  - Constant Field Values

## Constructor Details

### Proc

public Proc()
Deprecated.

## Method Details

### 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