Python (a linguagem de programação que o desktop usa rapidamente) fornece o módulo de subprocessamento para chamar outros programas. A documentação está aqui: link
Ele fornece funções convenientes, mas para as coisas mais avançadas (como ler a saída como você descreveu, se bem me lembro), você frequentemente precisa usar sua classe Popen.