I agree, launching external processes is OK at application level. This can be a high-level feature in a GUI application; piping multiple processes to implement an end-user workflow; etc.
For many reasons, launching an external process is not a viable option at library/logic/algorithm level.