Я пытаюсь создать дочерний процесс, используя spawn, и хотел бы иметь возможность обрабатывать, если "cwd" не найден.Когда он не найден, он выдает ошибку «ENOENT», которую в Windows я могу обнаружить только при запуске процесса со свойством «shell: true».Итак, что я делаю:
const { spawn } = require('child_process')
const childProcess = spawn('MyCommand.exe', [], {
cwd: path.join(__dirname, 'mypath')
}
childProcess.on('error', (err) => {
// Handle error here
})
childProcess.on('exit', (code, signal) => {
// Handle exit event
})
В Windows вышеупомянутое не будет правильно перехватывать исключение ENOENT, если я не сделаю:
const childProcess = spawn('MyCommand.exe', [], {
cwd: path.join(__dirname, 'mypath'),
shell: true
}
Если я порождаю с использованием вышеупомянутого,команда cwd или не найдена, событие exit
перехватит исключение.
Но я бы очень хотел сделать это без запуска в оболочке.Есть ли способ сделать это?