Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

290
Visualizações
execSync - How to see ongoing script execution

I am using execSync to execute a shell script within a javascript script

const { execSync } = require('child_process');
const shell = (cmd) => execSync(cmd, { encoding: 'utf8' });
shell('node jest');

When I run jest from my terminal, I see each step in the console as the script is ongoing.

When I run shell(script), I only see the whole results at the end of the script.

Question

What should I do to output in live the execution of a script using execSync?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

After some research I found the proper method.

child_process.exec() is "synchronously asynchronous", meaning although the .exec is asynchronous, it waits for the child process to end and tries to return all the buffered data at once

child_process.spawn() returns an object with stdout and stderr stream

Hence I opted to use spawn and created

const shellAsync = (cmd) => {
  const script = spawn(cmd);

  script.stdout.on('data', (data) => {
    console.log(`${data}`);
  });

  script.stderr.on('data', (data) => {
    console.error(`${data}`);
  });

  script.on('close', (code) => {
    console.log(`child process exited with code ${code}`);
  });
};
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda