首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将标准输入发送到后台作业?

如何将标准输入发送到后台作业?
EN

Ask Ubuntu用户
提问于 2020-01-14 09:42:52
回答 1查看 618关注 0票数 3

经过几次尝试和错误之后,我在远程计算机(feh)上安装了另一个图像查看器,设置为up,并再次尝试了该命令。

代码语言:javascript
复制
feh WARNING: /tmp/feh_stdin_ZwCjv7 - No Imlib2 loader for that file format
feh: No loadable images specified.
See 'man feh' for detailed usage information

我认为这是导致ImageMagick的display爆发错误的原因。

代码语言:javascript
复制
display: no decode delegate for this image format `' @ error/constitute.c/ReadImage/501.

根据https://superuser.com/a/1517417/1106777的说法,命令失败是因为我将display作为后台作业(&)启动。

如果进程是用&启动的,那么shell实际上将从/dev/null重定向它的stdin,以避免任何读取尝试。

如果我删除了尾随的&,该命令将运行,没有任何问题,例如:

工作中

代码语言:javascript
复制
ssh beer@laika "DISPLAY=:0 feh -" < <(cat 1.jpeg)

(也)工作

代码语言:javascript
复制
ssh beer@laika "DISPLAY=:0 display -" < <(cat 1.jpeg)

如何将stdin发送到后台&作业?

EN

回答 1

Ask Ubuntu用户

发布于 2020-01-14 12:47:45

命令

代码语言:javascript
复制
display - && sleep 5 && wmctrl -r ImageMagick -e 0,254,600,800,560

启动display命令,等待其退出,如果退出状态指示成功,则运行sleep 5 && wmctrl -r ImageMagick -e 0,254,600,800,560

你可能想

代码语言:javascript
复制
display - & sleep 5 && wmctrl -r ImageMagick -e 0,254,600,800,560

它在shell背景中启动display,然后立即继续使用其余的命令。

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

https://askubuntu.com/questions/1202860

复制
相关文章

相似问题

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