Ошибка выполнения команды nodejs без полезного сообщения об ошибке
Это код для выполнения
cp.exec("cc -Wall /tmp/test.c -o /tmp/test", function(e, stdout, stderr) {
if (e) {
var errorstr = "Compilation failed with the following error<br>"+ e.message.toString()
client.send(errorstr)
console.log(e, stdout, stderr)
ee.prototype.removeAllListeners()
} else if (stderr.length > 0) {
client.send("Compilion finished with warnings\n"+ stderr + '\n')
client.send('compiled')
ee.prototype.emit('compiled')
} else {
client.send("Compilation successful")
ee.prototype.emit('compiled')
}
})
'client' - это аргумент обратного вызова socket.io. 'ee' является экземпляром EventEmitter
Приходя к проблеме. При запуске кода обратный вызов сообщает, что команда не выполнена. console.log (e, stdout, stderr) - это
{ [Error: Command failed: ] killed: false, code: false, signal: undefined } '' ''
/tmp/test.c является допустимым кодом C, и при проверке каталога / tmp я обнаружил, что test.c является правильным и двоичный «test»является генерируется и работает в оболочке, правильно выполняется. Так что я не понимаю, почему это помечает неудачное выполнение. Информация об объекте ошибки тоже бесполезна. Был бы признателен за помощь / объяснение