首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LibreOffice (soffice)命令行在作为节点子进程执行时被卡住

LibreOffice (soffice)命令行在作为节点子进程执行时被卡住
EN

Stack Overflow用户
提问于 2014-07-14 01:04:02
回答 2查看 1.9K关注 0票数 1

我是运行无头,命令行libreoffice转换文件为pdf或png.我在跑。例如。

代码语言:javascript
运行
复制
soffice --headless --convert-to png --outdir /tmp /tmp/myfile.pub

当我直接在命令行上运行命令时,转换就会成功地发生。但是,如果我通过在节点中生成(或执行)子进程来运行它,它只会挂起(转换不会发生)。当我执行ps aux时,我可以看到这个命令正在运行。

知道为什么会发生吗?

我已尝试过多项工作,包括:

  1. 使用完整的二进制路径
  2. 确保文件权限都很好
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-19 17:57:30

服务器重新启动奇迹般地修复了它。

票数 0
EN

Stack Overflow用户

发布于 2014-07-23 18:51:28

正如borisdiakur已经指出的,如果没有实际的代码,就很难调试它。而且,我没有在这台机器上安装肥皂。但是,这样的东西应该可以工作,如果没有,至少应该通过打印命令的输出来给您提供更多的洞察力:

代码语言:javascript
运行
复制
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。

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

https://stackoverflow.com/questions/24728317

复制
相关文章

相似问题

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