在过去的几天里,我一直在努力从CasperJS / PhantomJS运行shell命令。
我在节点中的文件上运行简单的unix sed,运行得很好:
var sys = require('sys')
var exec = require('child_process').exec;
var child;
// executes `sed`
child = exec("sed -i -e '1,1000d' file.name", function (error, stdout, stderr) {
sys.print('stdout: ' + stdout);
sys.print('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
但每当我和CasperJS一起运行时,它就会永远运行,而不是执行shell命令。也许有人可以对此有所了解。
我确实通过PhatomJS的spawn和execFile函数使它工作,但问题是它不适用于超过300MB的大文件。