我是运行无头,命令行libreoffice转换文件为pdf或png.我在跑。例如。
soffice --headless --convert-to png --outdir /tmp /tmp/myfile.pub
当我直接在命令行上运行命令时,转换就会成功地发生。但是,如果我通过在节点中生成(或执行)子进程来运行它,它只会挂起(转换不会发生)。当我执行ps aux
时,我可以看到这个命令正在运行。
知道为什么会发生吗?
我已尝试过多项工作,包括:
发布于 2014-10-19 17:57:30
服务器重新启动奇迹般地修复了它。
发布于 2014-07-23 18:51:28
正如borisdiakur已经指出的,如果没有实际的代码,就很难调试它。而且,我没有在这台机器上安装肥皂。但是,这样的东西应该可以工作,如果没有,至少应该通过打印命令的输出来给您提供更多的洞察力:
var spawn = require('child_process').spawn,
soffice = spawn('soffice', ['--headless', '--convert-to', 'output.png', '--outdir', '/tmp', '/tmp/myfile.pub' ]);
soffice.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
soffice.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
soffice.on('close', function (code) {
console.log('child process exited with code ' + code);
});
更新0: Ok,我跟踪了hdd上的soffice可执行文件(显然我有)。当给定适当的路径时,该命令将执行得很好。要让它开心,我必须做的一件事是创建output.png文件YMMV。
https://stackoverflow.com/questions/24728317
复制相似问题