The answer is it depends :P
I have seen both methods used, but I am not too sure if one has advantages over the other. My gut feeling would be to pick the one where you manage the application through a port from within erlang. That way, you have a nice centralized way of knowing if problems crop up, and can fix things easily.