如果您不熟悉icecast,它是一个多媒体服务器。gulp-exec子进程立即关闭
当我在终端中运行icecast -c ./icecast/icecast.xml
时,它会启动一个保持活动状态的icecast服务器。
所以我想在我的node.js进程旁边运行该命令,每次运行gulp
。
我将以下内容添加到我的gulp文件中。
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`)
})
})
当我在终端运行命令gulp icecast
,一饮而尽说Starting 'icecast'...
,然后立即终止。没有一个回调火。我真的很喜欢它,直到我cmd-c吞噬过程。
我觉得我错过了一些关于吞咽如何工作的基本知识,但是在吞咽(或吞咽-exec)文档中我找不到任何提及此类主题的任何内容。