首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >吞咽子进程挂起

吞咽子进程挂起
EN

Stack Overflow用户
提问于 2015-10-19 19:12:53
回答 1查看 176关注 0票数 0

我正在尝试创建一个gulp任务,通过执行shell脚本来更新项目中的所有资产。问题是它按预期执行,然后挂起。

代码语言:javascript
复制
'use-strict';

var gulp  = require('gulp'),
    gutil = require('gulp-util');
    exec    = require('child_process').exec;
var foreach = require('gulp-foreach');

gulp.task('update-assets', function () {
        exec('./update_assets.sh', {cwd: 'assets'}, function(err, stdout, stderr) {
        console.log(stdout);
        console.log(stderr);
        cb(err);
    });
});

gulp.task('default', ['update-assets'], function() {
    gulp.start('update-assets');
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-29 03:58:59

这是因为exec()的本质。什么exec()允许您给它的命令“接管”当前进程。您可以做的是尝试类似于child_process.spawn的东西。如果是守护进程的话。

好好看看工艺文件。我认为这应该能帮你找到一个好的开始。

其他可能有帮助的选项包括修改脚本以将退出代码抛出以便Gulp识别,或者使用超时来知道gulp任务何时结束。

更新:或者,您也可以使用这个,这就是我在运行web服务器时发现的工作方法。shell.exec('./update_assets.sh', {async:true} );

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33222093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档