When you run the process in a terminal, its process state is marked with a + because it is the foreground process in that terminal. This means, among other things, that the terminal can be used to control the process. For instance, pressing
Ctrl-C will result in an
SIGINT signal being sent to the process. Depending on the signal handlers in the program, this will usually terminate the process. Also, closing the terminal will send a a
SIGHUP* signal to the process.
When you run the process from Eclipse, the + is not there because the process is not in the foreground process group of any terminal. In fact, unless you have started Eclipse from a terminal (and not backgrounded it with
^Z), Eclipse itself will not have a controlling terminal, and so will none of its child processes.
*) HUP for "hang up", from the days when terminals were physical machines that connected to computers over serial dial-up lines