Si vous n'êtes pas familier avec icecast, c'est un serveur multimédia.Le processus enfant gulp-exec se ferme immédiatement
Lorsque j'exécute icecast -c ./icecast/icecast.xml
dans le terminal, il démarre un serveur icecast, qui reste actif. Donc je veux exécuter cette commande à côté de mon processus node.js, chaque fois que je lance gulp
.
J'ai ajouté ce qui suit à mon fichier gulpfile.
import exec from 'gulp-exec'
...
const icecastDir = path.resolve(`${__dirname}/icecast/`)
...
gulp.task(`icecast`,() => {
return exec(`/usr/local/bin/icecast -c ${icecastDir}/icecast.xml`)
.on(`data`,() => {
console.log(`data`)
})
.on(`error`,() => {
console.log(`error`)
})
.on(`end`,() => {
console.log(`end`)
})
.on(`close`,() => {
console.log(`error`)
})
.on(`readable`,() => {
console.log(`readable`)
})
})
Quand je lance la commande gulp icecast
dans mon terminal, gulp dit Starting 'icecast'...
puis immédiatement se termine. Aucun des callbacks ne se déclenche. Je voudrais vraiment qu'il reste en vie jusqu'à ce que je mette-c le processus de gorgée. J'ai l'impression qu'il me manque quelques connaissances fondamentales sur le fonctionnement de gulp, mais je ne trouve rien qui mentionne de tels sujets dans les docs gulp (ou gulp-exec).