好吧,如果没有上下文的话,这个问题有点难以理解:
当我们跑步时表明,它会检查是否有其他实例正在运行。
如果有,
evince
则在将参数传递给正在运行的实例后,命令立即退出如果没有其他实例正在运行,则将启动一个新实例,并且
evince
命令将等待,直到该新实例退出。
虽然这种行为非常好,但对 shell 脚本来说却没什么用。为什么?因为我有一个脚本,它会写入一个临时.ps
文件,调用 PS/PDF 查看器,并.ps
在查看器退出后自动删除临时文件。不幸的是,这个脚本只有在 evince 之前没有运行的情况下才有效(如果 evince 正在运行,那么文件删除得太快了)。
我不想给这个脚本增加额外的复杂性。它应该保持简单,因为我可能想用 xpdf、gv 或其他任何东西替换 evince。
我期望某种命令行参数能够显示(类似于-f
到 vim 和 gvim),但我担心没有这样的选择。编写包装脚本evince
可能是一个很好的解决方案,但这个脚本应该在所有情况下都能正常工作(如果 evince 正在运行,如果没有运行)。
有什么想法吗?(我知道......这个很难)
答案1
似乎之前的 Evince 版本(最高 2.28)具有我在问题中描述的行为。幸运的是,2.30 版本将该行为更改为我想要的行为。
所以,答案是:将 Evince 更新到 2.30 或更新版本。