Code Monkey home page Code Monkey logo

Comments (2)

GoogleCodeExporter avatar GoogleCodeExporter commented on September 17, 2024
Duplicate of issue #101

I'm still not clear how it can get to a state where it kills a process that 
wasn't started properly. If you have more details on this please do let me know.

Original comment by [email protected] on 19 Feb 2012 at 9:56

  • Changed state: Duplicate

from jodconverter.

GoogleCodeExporter avatar GoogleCodeExporter commented on September 17, 2024
If it is still actual problem - I think it may be helpful to extend code 
provided above.

This problem occurs when jvm or server-process was killed (for example by the 
console - pkill -9 -f java), without stopping soffice process. So, when we 
start it again and OfficeProcess starts -existingPid != PID_UNKNOWN = true, and 
OfficeProcess throws exception in line 67. Because of it - long pid = 
PID_UNKNOWN. And when method forciblyTerminate(..) executes than fires 
processManager.kill(process, -1);
This was said in the first comment.

But if we only retrurns -1 when pid=PID_UNKNOWN, then all of the subsequent 
executions will not work.

So you can do something like this in forciblyTerminate(..) method:

if(pid!=PID_UNKNOWN) {
            processManager.kill(process, pid);
            return getExitCode(retryInterval, retryTimeout);
        } else {
            long blockedPid = processManager.findPid(new ProcessQuery("soffice.bin", unoUrl.getAcceptString()));
            logger.info(String.format("blocking process found: '" + blockedPid));
            if (blockedPid > -1) {
                processManager.kill(process, blockedPid);
            }
            return -1;
        }

I do not know if this is correct decision, but it works for me.

Original comment by [email protected] on 25 Feb 2013 at 11:21

from jodconverter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.