Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.exec
Class ShutdownHookProcessDestroyer

    java.lang.Object
      org.apache.commons.exec.ShutdownHookProcessDestroyer

All Implemented Interfaces:
  Runnable, ProcessDestroyer

    public class ShutdownHookProcessDestroyer

extends Object
implements ProcessDestroyer, Runnable

Destroys all registered `Process`es when the VM exits.

Constructor Summary
`ShutdownHookProcessDestroyer()` Constructs a `ProcessDestroyer` and obtains `Runtime.addShutdownHook()` and `Runtime.removeShutdownHook()` through reflection.

Method Summary
`boolean` | `add(Process process)` Returns `true` if the specified `Process` was successfully added to the list of processes to destroy upon VM exit.
`boolean` | `isAddedAsShutdownHook()` Returns whether or not the ProcessDestroyer is registered as as shutdown hook
`boolean` | `remove(Process process)` Returns `true` if the specified `Process` was successfully removed from the list of processes to destroy upon VM exit.
`void` | `run()` Invoked by the VM when it is exiting.
`int` | `size()` Returns the number of registered processes.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ShutdownHookProcessDestroyer

    public ShutdownHookProcessDestroyer()

  Constructs a `ProcessDestroyer` and obtains `Runtime.addShutdownHook()` and `Runtime.removeShutdownHook()` through reflection. The ProcessDestroyer manages a list of processes to be destroyed when the VM exits. If a process is added when the list is empty, this `ProcessDestroyer` is registered as a shutdown hook. If removing a process results in an empty list, the `ProcessDestroyer` is removed as a shutdown hook.

Method Detail

### isAddedAsShutdownHook

    public boolean isAddedAsShutdownHook()

  Returns whether or not the ProcessDestroyer is registered as as shutdown hook

  Returns:
    true if this is currently added as shutdown hook

### add

    public boolean add(Process process)

  Returns `true` if the specified `Process` was successfully added to the list of processes to destroy upon VM exit.

  Specified by:
    `add` in interface `ProcessDestroyer`
  Parameters:
    `process` - the process to add
  Returns:
    `true` if the specified `Process` was successfully added

### remove

    public boolean remove(Process process)

  Returns `true` if the specified `Process` was successfully removed from the list of processes to destroy upon VM exit.

  Specified by:
    `remove` in interface `ProcessDestroyer`
  Parameters:
    `process` - the process to remove
  Returns:
    `true` if the specified `Process` was successfully removed

### size

    public int size()

  Returns the number of registered processes.

  Specified by:
    `size` in interface `ProcessDestroyer`
  Returns:
    the number of register process

### run

    public void run()

  Invoked by the VM when it is exiting.

  Specified by:
    `run` in interface `Runnable`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2009 The Apache Software Foundation. All Rights Reserved.