Question: I have a Ubuntu 10.04 machine that has tomcat6 on it. When I start tomcat6 with `/etc/init.d/tomcat6 start` I get 

```
* Starting Tomcat servlet engine tomcat6
/bin/bash already running.

```

and the server fails to start. Unfortunately, there is nothing in **/var/log/tomcat/catalina.out** to help debug the issue. With some cleverly placed echo statements it seems to be the line from /etc/init.d/tomcat6:

```
start-stop-daemon --start -u "$TOMCAT6_USER" -g "$TOMCAT6_GROUP" \
                -c "$TOMCAT6_USER" -d "$CATALINA_TMPDIR" \
                -x /bin/bash -- -c "$AUTHBIND_COMMAND $TOMCAT_SH"

```

The only thing I've changed in this script is `TOMCAT6_USER=root`. In servers.xml, the only thing I've changed is `<Connector port="80" protocol="HTTP/1.1"` from port 8080. I have tried reinstalling the package by first removing everything `sudo apt-get --purge remove tomacat6` and then `sudo apt-get install tomcat6` but this has not solved the issue. I have also restarted the server multiple times in hopes of some magic. Everything was working until I restarted my server. Any ideas?

Answer: 
There's [an Ubuntu bug](https://bugs.launchpad.net/ubuntu/+source/tomcat6/+bug/632554) for this issue, with a proposed patch.

It's not necessarily anything to do with running as root - if your tomcat6 user has a /bin/bash process (say, you're using it to run some commands to support your Tomcat application), then you will hit it as well.
This is (was) a known Ubuntu bug that has since been fixed: <https://bugs.launchpad.net/ubuntu/+source/tomcat6/+bug/632554>

The init script won't start tomcat6 daemon if the user has a bash shell running.

The fix as listed in the bug report is simply to add `-p "$CATALINA_PID"` to the start-stop-daemon command.

```
*** tomcat6~ 2010-10-11 13:21:52.000000000 -0500
--- tomcat6 2010-11-03 12:19:04.000000000 -0500
***************
*** 152,154 ****
   start-stop-daemon --start -b -u "$TOMCAT6_USER" -g "$TOMCAT6_GROUP" \
! -c "$TOMCAT6_USER" -d "$CATALINA_TMPDIR" \
    -x /bin/bash -- -c "$AUTHBIND_COMMAND $TOMCAT_SH"
--- 152,154 ----
   start-stop-daemon --start -b -u "$TOMCAT6_USER" -g "$TOMCAT6_GROUP" \
! -c "$TOMCAT6_USER" -d "$CATALINA_TMPDIR" -p "$CATALINA_PID" \
    -x /bin/bash -- -c "$AUTHBIND_COMMAND $TOMCAT_SH"
}}}

```