У меня есть электронное приложение, которое открывает внешнюю программу (в моем случае Office) и должно ждать закрытия программы.
код, который я написал, прекрасно работает, но иногда событие child_process.on('close')
срабатывает через 10 или 20 секунд после закрытия программы. Код:
const cp = require("child_process");
child = cp.spawn(path/to/Office.exe + ' "' + path/to/myFile.pptx + '"', {shell: true});
child.on('close', function (code) {
//do something
});
Большую часть времени он реагирует через 1 или 2 секунды, что нормально, но иногда до получения события закрытия уходит до 20 секунд. Программа закрывается быстро (согласно диспетчеру задач), но узел, похоже, что-то ждет.
Я также пытался child.on('exit')
, вызывая программу с cp.exec()
и используя options.stdio: ignore
для spawn, так как Я подумал, что, возможно, узел ждет какого-то потока от ребенка. Но это не имело значения.
Кто-нибудь знает безопасный способ ускорить этот процесс?