ОК, давайте решим это.
#!/bin/bash
morbo Mojolicious_Lite.pl & P=$!
trap "kill $P" INT # maybe you want EXIT here too?
firefox -new-window http://localhost:3000/
wait
Это должно сработать ... Когда Firefox выйдет, оболочка будет ждать оставшихся заданий (morbo), которые затем могут быть прерваны нажатием Ctrl-C - inв этом случае ловушка убивает их.
Вы можете проверить это визуально (то есть посмотреть, что выполняется) с помощью
bash -x run.sh
Предполагая, что ваш скрипт называется run.sh;)