如果您不熟悉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)文檔中我找不到任何提及此類主題的任何內容。