Я хочу завершить процесс spawnSync в ES6 async / await.
(async () => {
const type = 'python';
const exefile = './test.py';
let opt = [file];
let result = await spawnSync(type, opt, {
encoding: 'utf-8'
});
if (exefile !== '') {
const exeRst = await spawnSync(exefile, {
encoding: 'utf-8'
});
setTimeout(() => {
console.log('⏰ Timeout!!');
console.log('exeResult.pid : ', exeResult.pid);
exeResult.kill();
}, 2000);
if (
result.output['1'] === '' &&
result.output['2'] === '' &&
exeRst.output['1'] !== ''
) {
console.log('?exeResult:', exeRst);
console.log('?result:', result.output);
}
}
})();
Если второй spawnSync exeRst занимает много времени, он прекратит работу в течение 2 секунд.
test.py для запуска требуется 10 секунд или более.
Однако, из-за ожидания, setTimeout будет выполнен через 10 секунд после того, как закончится все выполнение test.py.
Как сделать невозможным запуск более 2 секунд?