My launcher says it couldn't retrieve process ID
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?
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 /?
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
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.
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
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.
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.
/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"
wmic process get CommmandLine,ProcessId
Look for lines matching the regular expression:
Check if one of those is matching the regular expression found in