El comando de exec nodejs falla sin un mensaje de error útil

Este es el código para ejecutar.



    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')
        }
    })

'cliente' es el argumento del argumento de devolución de llamada de socket.io. 'ee' es una instancia de EventEmitter

Viniendo al problema. Al ejecutar el código, la devolución de llamada dice que el comando no tuvo éxito. console.log (e, stdout, stderr) es

{ [Error: Command failed: ] killed: false, code: false, signal: undefined } '' ''

/tmp/test.c es un código C válido y al revisar el directorio / tmp, encuentro que test.c es correcto y el 'test' binarioes generándose y ejecutándose en un shell, se ejecuta correctamente. Así que no entiendo por qué está marcando la ejecución fallida. La información del objeto de error tampoco es útil. Agradecería alguna ayuda / explicación

Respuestas a la pregunta(1)

Su respuesta a la pregunta