Chicken-And-Egg-Situation:後台運行命令的功能

邪惡的

我擔心這可能是重複的,但我找不到匹配的問題。

我主要在命令行上工作。如果我想簡單地打開一個 pdf 文件,我想保持我的實際命令行工作,而不是被任何輸出淹沒。

一般來說

evince my_file.pdf </dev/null &>/dev/null &

做這項工作...但打字不是很方便。所以我嘗試添加一個函數:

function exec_in_background_silent() {
    "$@" </dev/null &>/dev/null &
}

這種工作的目的是運行分離的傳遞命令......但像這樣調用它:

exec_in_background_silent evince my_file.pdf

讓我再次失去我的命令行,因為我認為現在它等待函數本身完成:(

如果我添加另一個&符號,它可以正常工作:

exec_in_background_silent evince my_file.pdf &

但是:有沒有辦法擺脫它?

(evince 可能是一個不好的例子,因為無論如何它都不是很健談......但還有其他人;))

編輯以獲取更多詳細信息:

我正在運行 Ubuntu

echo "${BASH_VERSION}"
5.0.17(1)-release
  1. 調用後命令行被鎖定
  2. 按 Enter 得到新的空行
  3. 按下[strg]+[c]給出以下輸出並終止 evince
exec_in_background_silent evince my_file.pdf
[1] 12234







^C
[1]+  Fertig                   < /dev/null &> /dev/null
大師

在 bash 的聯機幫助頁中,它說:

當 bash 異步啟動作業(在後台)時,它會打印如下一行:

[1] 25647  

表明此作業是作業編號 1,並且與此作業關聯的管道中最後一個進程的進程 ID 為 25647。單個管道中的所有進程都是同一作業的成員。Bash 使用作業抽像作為作業控制的基礎。

@Dimitre Radoulov 在一篇SO 帖子中說

您可以通過將調用放在子外殼中來抑制該輸出:

(echo "你好,我是後台任務" &)

因此,為了避免作業號和進程 ID 輸出行,您應該像這樣更改您的函數:

function exec_in_background_silent() {
    ("$@" </dev/null &>/dev/null &)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C头文件Chicken或Egg问题

反应:img onLoad 和 Chicken/Egg 问题我无法逃避

在Chicken Scheme中安装r7rs egg失败

在根模块中使用aws_vpc数据源的Terraform Chicken / egg问题

Python pip安装失败:无效的命令egg_info

无法安装MySQL-python“无效命令'egg_info'”

提示卡在“运行命令python setup.py egg_info”上-没有错误。

错误:python setup.py egg_info 检查日志以获取完整的命令输出

pip3 install couchdbkit 失败,出现“命令”python setup.py egg_info”

pip无法安装任何内容,错误:无效命令“ egg_info”

安装python软件包,并显示“命令“ python setup.py egg_info”失败”吗?

安装包时获取命令“python setup.py egg_info”错误 - Python

如何安装python egg

从python egg访问文件

安装“模式”时,命令“ python setup.py egg_info”失败,错误代码为1

Python多处理安装:命令“ python setup.py egg_info”失败,错误代码为1

错误:命令出错,退出状态为 1:python setup.py egg_info 在安装 MySQL-python 时检查

无法安装pyzmail-“命令“ python setup.py egg_info”失败,错误代码为1”

使用pip安装pygame:命令“ python setup.py egg_info”失败,错误代码为1

表包中的命令“ python setup.py egg_info”失败,错误代码为1

命令“ python setup.py egg_info”失败,错误代码为1 **升级setuptools不起作用!**

pip安装错误命令“ python setup.py egg_info”失败,错误代码为1

如何创建Python Egg文件

Scapyd从.egg文件引发NotADirectoryError

如何使用CHICKEN Scheme导出接口?

在CHICKEN计划中,如何获得unix时间?

Chicken Scheme:make表未绑定变量

如何在CHICKEN中实现可选参数?

在Emacs中运行Chicken方案遇到麻烦