AFAIK não existe. O Windows não possui execv()
, que é como o bash exec faz isso. call
funciona para chamar arquivos em lote (fácil, basta interpretar o arquivo no interpretador atual, semelhante ao comando .
do bash), mas não para exes.
Isso torna impossível escrever scripts de wrapper de uma linha para scripts em qualquer idioma no Windows. Você sempre obterá esse "trabalho de lote de término"? porcaria em Ctrl + C e matando o processo em lote (não com Ctrl + C, do gestor de tarefas, digamos) não vai matar o processo filho. Agora estou procurando um arquivo de modelo C para fazer essa quebra automática.
ATUALIZAÇÃO: O Windows possui _execv()
em sua camada de compatibilidade POSIX em MSVCRT, mas o AFAIK (não o testou) é apenas um wrapper em torno de CreateProcess
, portanto sempre criará um novo processo, não poderá substituir o atual processo.