几周前,我看到了一个关于“ (如何)在后台静默启动任务? ”这个问题的奇怪答案。这个解决方案似乎不正确(参见我的回答),尽管 shell 似乎在后台默默地启动了任务。
建议的解决方案没有任何解释,分析也没有提供可靠的答案。
在下面,您可以看到代码片段。
# Run the command given by "$@" in the background
silent_background() {
if [[ -n $BASH_VERSION ]]; then
{ 2>&3 "$@"& } 3>&2 2>/dev/null
fi
}
Run Code Online (Sandbox Code Playgroud)
有问题的命令是{ 2>&3 "$@"& } 3>&2 2>/dev/null
.
命令组{ ... }
( ) 为一个命令 ( )指定了两个重定向 (3>&2
和)。该命令是一个具有一个重定向 ( )的异步列表( )。2>/dev/null
# Run the command given by "$@" in the background
cmd&
2>&3
POSIX …
我通过启动 .sh 脚本来运行 jmeter,一旦我这样做,我就无法再次开始使用提示,除非我按 ctrl-z、ctrl-c 或脚本以其他方式结束。如何启动该脚本并在启动脚本后仍然能够使用相同的控制台。(我曾经知道如何做到这一点,这很容易 =()
我想另一种说法是如何独立于终端启动脚本。