Package org.eclipse.lemminx.commons

## Class ParentProcessWatcher

- java.lang.Object
- - org.eclipse.lemminx.commons.ParentProcessWatcher

All Implemented Interfaces:
  `Runnable`, `Function<org.eclipse.lsp4j.jsonrpc.MessageConsumer,​org.eclipse.lsp4j.jsonrpc.MessageConsumer>`

    public final class ParentProcessWatcher
    extends Object
    implements Runnable, Function<org.eclipse.lsp4j.jsonrpc.MessageConsumer,​org.eclipse.lsp4j.jsonrpc.MessageConsumer>

Watches the parent process PID and invokes exit if it is no longer available. This implementation waits for periods of inactivity to start querying the PIDs.

### Nested Class Summary

Nested Classes
`static interface` `ParentProcessWatcher.ProcessLanguageServer`

### Constructor Summary

Constructors
`ParentProcessWatcher​(ParentProcessWatcher.ProcessLanguageServer server)`

### Method Summary

All Methods Instance Methods Concrete Methods
`org.eclipse.lsp4j.jsonrpc.MessageConsumer` `apply​(org.eclipse.lsp4j.jsonrpc.MessageConsumer consumer)`
`void` `run()`

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

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

### Methods inherited from interface java.util.function.Function

`andThen, compose`

### Constructor Detail

#### ParentProcessWatcher

    public ParentProcessWatcher​(ParentProcessWatcher.ProcessLanguageServer server)

### Method Detail

#### run

    public void run()

Specified by:
  `run` in interface `Runnable`

#### apply

    public org.eclipse.lsp4j.jsonrpc.MessageConsumer apply​(org.eclipse.lsp4j.jsonrpc.MessageConsumer consumer)

Specified by:
  `apply` in interface `Function<org.eclipse.lsp4j.jsonrpc.MessageConsumer,​org.eclipse.lsp4j.jsonrpc.MessageConsumer>`