我有一个不能在grunt-php上运行的基于 PHP 的项目。相反,我使用grunt-exec来运行我的 MAMP 服务器进行开发。
exec: {
serverup: {
command: '/Applications/MAMP/bin/start.sh'
},
serverdown: {
command: '/Applications/MAMP/bin/stop.sh'
}
}
在我的自定义开发任务中,我在监视任务之前运行 MAMP 启动脚本。然后,我在退出监视任务后尝试停止 MAMP 服务器。
grunt.registerTask('default', ['jshint', 'concat', 'compass:dev', 'exec:serverup', 'watch', 'exec:serverdown']);
但是,如果我使用 Ctrl-C 退出任务,该exec:serverdown
任务似乎永远不会运行。有什么办法可以使这项工作?由于服务器永远不会关闭,因此在我手动运行停止脚本之前,该端口被占用,如果我在关闭之前尝试再次运行默认任务,则会出现错误。
如果没有,还有其他方法可以完成同样的事情吗?