使用 & 但仍打印到控制台

使用 & 但仍打印到控制台

我想找到“cpuinfo”文件并尝试

$ find / -iregex ".*cpuinfo.*" 2>/dev/null &
[1] 7996

但是,它仍然将结果打印到控制台

$ /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/cpuinfo.rb
/usr/local/lib/python3.6/site-packages/numpy/distutils/cpuinfo.py
/usr/local/lib/python3.6/site-packages/numpy/distutils/__pycache__/cpuinfo.cpython-36.pyc
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/distutils/cpuinfo.py
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/distutils/cpuinfo.pyc

如何将它们完全隐藏在背景中?

答案1

如果你想隐藏所有输出,你可以重定向 stdin 和 stdout:

find / -iregex ".*cpuinfo.*" >/dev/null 2>&1 &

或者使用 bash:

find / -iregex ".*cpuinfo.*" &>/dev/null &

答案2

要获得“cpuinfo”文件搜索结果并抑制错误,请find使用screen实用程序执行命令。

只需在屏幕分离的情况下开始搜索:

screen -dm find / -iregex ".*cpuinfo.*" 2>/dev/null

要使用命令 runnung do 重新连接屏幕

screen -r

$由于命令中存在前导美元符号,并且搜索将在 root 内执行,因此请考虑以用户身份/执行。findsudoroot

相关内容