Здесь есть много запутанных вещей.
Вы говорите, что используете "run.sh -b 0.0.0.0"
, чтобы он прослушивал все порты - Это заставляет его прослушивать все IP-адреса, назначенные хосту, а не все порты, но я думаю, что это именно то, что вы имели в виду.
Вы также говорите, что привязываете JBoss 4.0.4 только к localhost, но не говорите, как это делаете. Знали ли вы, что JBoss 4.0 связывается с каждым IP-адресом по умолчанию, тогда как 4.2 связывается только с localhost по умолчанию?
В любом случае, я не вижу, как оба сервера могут запускаться вместе, если 4.2 прослушивает все IP-адреса, это может привести к конфликту с другим сервером, и один из них не запустится. Если они оба работают, то они должны быть либо на разных портах, либо на разных IP-адресах. Что это?
Что касается сценария завершения работы 4.0, приводящего к остановке 4.2, это, вероятно, связано с тем, что вы перепутали IP-адреса или порты.