private void stop() {
        if (process != null) {
            LOG.trace("destroying a non-null process");
            process.destroyForcibly();
        }

        receivedRestartMsg = false;
        //interrupt the writer thread first
        interruptWriterThread.interrupt();

        errorWatcher.stopGobblingAndDie();
        outGobbler.stopGobblingAndDie();
        errorWatcherThread.interrupt();
        outGobblerThread.interrupt();
    }
Tries to restart (stop and then start) the forked process

@return whether or not this was successful, will be false if numRestarts >= maxProcessRestarts
@throws Exception
tika-batch/src/main/java/org/apache/tika/batch/BatchProcessDriverCLI.java