在后台启动 PDF 阅读器时,Arara 继续运行

在后台启动 PDF 阅读器时,Arara 继续运行

我想配置arara在编译后启动我的 PDF 阅读器。我可以使用以下自定义规则来实现这一点:

!config
identifier: evince
name: evince
commands:
- name: Open in Evince
  command: >
    @{
      name = 'build/'+getBasename(reference.getName()) + '.pdf';
      return getCommand(['evince', name])
    }
arguments: []

但是,当使用此规则时,arara它会一直挂起,直到我再次关闭 PDF 阅读器:

(LaTeXmk) Tool LaTeXmk .................................. SUCCESS
(evince) Open in Evince ................................. 

附加&到命令只会evince尝试打开文件&。我尝试了各种组合nohup,直接从此规则,或通过间接从 bash 脚本调用,但没有任何变化。除非我停止 PDF 阅读器setsid,否则 Arara 拒绝继续。coprocdisownevince

关于如何在后台进程生成 PDF 阅读器后让 arara 继续运行,有什么建议吗?

答案1

最后,我通过调用以下 bash 脚本(evince通过调用该脚本替换上面的脚本)解决了这个问题:

#!/bin/bash
evince $1 > /dev/null &
exit 0

有趣的是,将输出重定向到/dev/null 返回exit 0是必需的。我猜这是 arara 中的一个错误,但我将尝试在另一台机器上重现它,然后再报告它。

相关内容