cancel
Showing results for 
Search instead for 
Did you mean: 

My launcher says it couldn't retrieve process ID

Manon_Lumeau
Star Contributor
Star Contributor

Hi!

I've installed Nuxeo and since I can see a message in my console saying:

[org.nuxeo.launcher.NuxeoLauncher] Sent server start command but could not get process ID.

Is it possible to fix it?

Thanks,

1 ACCEPTED ANSWER

Manon_Lumeau
Star Contributor
Star Contributor

Hi!

This message means the Launcher was not able to confirm the server status, retrieving the process id. That can be a normal behavior on some old Windows versions and on Unix Solaris.

Windows users, if you can issue the two following commands without error in a Shell windows, then the Launcher must be able to manage the server process on your OS:

wmic quit
taskkill /?

Workarounds

Console Mode

First, you can start in console mode (in which case, the Launcher won't try to manage the process) in order to manually check if the server can start: nuxeoctl console. You will have to stop the server issuing "CTRL+C".

If you can start the server that way, it should also be able to start with nuxeoctl startbg. The drawback is nuxeoctl stop won't be able to stop the server.

Java Commands

In case the issue lies in the batch file, you can try to run the Launcher with its Java command. If you issued nuxeoctl start from a Shell window, then you can copy/paste the command titled "Launcher command". It will be of the form:

Launcher Java command

java -Dlauncher.java.opts="some JVM options" -Dnuxeo.home=/path/to/nuxeo/ -Dnuxeo.conf=/path/to/nuxeo.conf -jar /path/to/nuxeo-launcher.jar start

You can also try to directly run the server, fully bypassing the Launcher. Look into the console.log file for a command titled "Server command". You will have to run the Launcher configuration, then the server command. It will look like:

Run the server, bypassing the Launcher

nuxeoctl configure
java -cp "the classpath" -Dnuxeo.home=/path/to/nuxeo -Dnuxeo.conf=/path/to/nuxeo.conf -Dnuxeo.log.dir=log -Dnuxeo.data.dir=data -Dnuxeo.tmp.dir=tmp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcatalina.base=/path/to/nuxeo -Dcatalina.home=/path/to/nuxeo org.apache.catalina.startup.Bootstrap start

Debugging

Then, if you want to understand the failure cause, you can try to manually get that process ID from a Shell window, reproducing the steps used by the Launcher.

Look into console.log for the "regexp" keyword, this is the regular expression used to find the process ID. Something like:

[org.nuxeo.launcher.NuxeoLauncher] regexp: \Q/path/to/nuxeo.conf\E.*\Qorg.apache.catalina.startup.Bootstrap\E pid:null

The command for retrieving the process ID will depend on your OS.

Linux/Unix

/bin/ps -e -o "pid,args" | grep -E "^\s*([0-9]+)\s+(.*)$" | grep "/path/to/nuxeo.conf.*org.apache.catalina.startup.Bootstrap"

Mac OS X

/bin/ps -e -o "pid,command" | grep -E "^ *([0-9]+) +(.*)$" | grep "/path/to/nuxeo.conf.*org.apache.catalina.startup.Bootstrap"

Windows

wmic process get CommmandLine,ProcessId

Look for lines matching the regular expression: ^(.*?)\\s+(\\d+)\\s*\$

Check if one of those is matching the regular expression found in console.log.

Kind regards,

Manon

View answer in original post

1 REPLY 1

Manon_Lumeau
Star Contributor
Star Contributor

Hi!

This message means the Launcher was not able to confirm the server status, retrieving the process id. That can be a normal behavior on some old Windows versions and on Unix Solaris.

Windows users, if you can issue the two following commands without error in a Shell windows, then the Launcher must be able to manage the server process on your OS:

wmic quit
taskkill /?

Workarounds

Console Mode

First, you can start in console mode (in which case, the Launcher won't try to manage the process) in order to manually check if the server can start: nuxeoctl console. You will have to stop the server issuing "CTRL+C".

If you can start the server that way, it should also be able to start with nuxeoctl startbg. The drawback is nuxeoctl stop won't be able to stop the server.

Java Commands

In case the issue lies in the batch file, you can try to run the Launcher with its Java command. If you issued nuxeoctl start from a Shell window, then you can copy/paste the command titled "Launcher command". It will be of the form:

Launcher Java command

java -Dlauncher.java.opts="some JVM options" -Dnuxeo.home=/path/to/nuxeo/ -Dnuxeo.conf=/path/to/nuxeo.conf -jar /path/to/nuxeo-launcher.jar start

You can also try to directly run the server, fully bypassing the Launcher. Look into the console.log file for a command titled "Server command". You will have to run the Launcher configuration, then the server command. It will look like:

Run the server, bypassing the Launcher

nuxeoctl configure
java -cp "the classpath" -Dnuxeo.home=/path/to/nuxeo -Dnuxeo.conf=/path/to/nuxeo.conf -Dnuxeo.log.dir=log -Dnuxeo.data.dir=data -Dnuxeo.tmp.dir=tmp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcatalina.base=/path/to/nuxeo -Dcatalina.home=/path/to/nuxeo org.apache.catalina.startup.Bootstrap start

Debugging

Then, if you want to understand the failure cause, you can try to manually get that process ID from a Shell window, reproducing the steps used by the Launcher.

Look into console.log for the "regexp" keyword, this is the regular expression used to find the process ID. Something like:

[org.nuxeo.launcher.NuxeoLauncher] regexp: \Q/path/to/nuxeo.conf\E.*\Qorg.apache.catalina.startup.Bootstrap\E pid:null

The command for retrieving the process ID will depend on your OS.

Linux/Unix

/bin/ps -e -o "pid,args" | grep -E "^\s*([0-9]+)\s+(.*)$" | grep "/path/to/nuxeo.conf.*org.apache.catalina.startup.Bootstrap"

Mac OS X

/bin/ps -e -o "pid,command" | grep -E "^ *([0-9]+) +(.*)$" | grep "/path/to/nuxeo.conf.*org.apache.catalina.startup.Bootstrap"

Windows

wmic process get CommmandLine,ProcessId

Look for lines matching the regular expression: ^(.*?)\\s+(\\d+)\\s*\$

Check if one of those is matching the regular expression found in console.log.

Kind regards,

Manon

Getting started

Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.