Entendi para funcionar. O truque é semelhante ao # 3, mas use um script de shell em um arquivo em vez de inline no arquivo upstart.conf. Dessa forma, você pode pular o -e
e usar o bash em vez do traço.
Se você realmente quiser evitar um script separado, ignore o comportamento -e
usando ||
:
script
cmd &
PID=$!
wait $PID || export EXIT_CODE=$?
if [ $EXIT_CODE -eq 139 ] ; then cleanup ; fi
end script