Yes you need the exec. Beyond that....
I have no experience with modbus-serial, but it looks like you create a connection and don't close it.
I do have experience with what mysql2 does in this situation--if you don't close the connection the node process never exits.
I've always caught this error during command-line testing--it hangs the terminal until you ctrl-C on Linux--so I'm not sure how PHP deals with it and in any event suspect it's OS- and PHP-version-dependent.
But it certainly seems like a mechanism that could cause one-and-done behavior.