The issue is fully reproducible, when you fix that? My snippet is here:
SpinePath="/Applications/Spine/Spine.app/Contents/MacOS/Spine"
# Sets the parameters ...
$SpinePath
---
notimeout $PARAMS -i $INPUT_DIR -o $OUTPUT_DIR -p ./config.json
echo "Exited."
and in terminal you will see something like it:
Spine Launcher 3.4.00
Mac OS X x86_64 10.13.2
Java 1.7.0_51 Esoteric Software
64-bit Server VM
Spine 3.6.48 Professional
Licensed to: *****, *****
ATI Technologies Inc.
AMD Radeon R9 M370X OpenGL Engine
2.1 ATI-1.60.24
JSON export: ....
JSON export: ....
JSON export: ....
JSON export: ....
JSON export: ...
...
Packing...
Writing 1024x1024: ...../output/0.5/.....png
Complete.
In the end of script Spine is stuck (in my example it's never shows "Exited."), if you change focus from terminal to GUI Spine application the application will exited (Shows "Exited." from echo command). But without focus on spine it will stay stuck all time.