Tengo una función para ejecutar un proceso:
static async runTest() { await process.exec(`start ${currentDir}/forward.py`); } runTest();El script de python continuará ejecutándose hasta que se elimine, lo cual no sé cómo hacer en este momento. En resumen, quiero terminar este proceso manualmente en algún momento. ¿Cómo haría esto? ¡Gracias!
El valor de retorno exec es un objeto de proceso secundario y puede eliminarlo en cualquier momento llamando a la función .kill(). Para obtener más información, puede consultar este
https://nodejs.org/api/child_process.html
Demostré la función de matar usando un tiempo de espera simple.
const { exec } = require('child_process'); let childprocess = exec('python a.py', (error, stdout, stderr) => { if (error) { console.error(`error: ${error.message}`); return; } if (stderr) { console.error(`stderr: ${stderr}`); return; } console.log(`stdout:\n${stdout}`); }); setTimeout(() => { //Example killing childprocess.kill() }, 2000);