我认为这与父进程创建新的子进程有关,并且没有tty。有人可以解释一下底层的细节吗?例如,bash、进程创建等相关的工作模型?
这可能是一个非常广泛的话题,所以指向帖子的指针也非常受欢迎。我已经谷歌搜索了一段时间,所有的结果都是关于非常具体的情况,没有涉及场景背后的故事。为了提供更多上下文,以下是导致'bash: no job control in this shell'的shell脚本。
#! /bin/bash
while [ 1 ]; do
st=$(netstat -an |grep 7070 |grep LISTEN -o | uniq)
if [ -z $st ]; then
echo "need to start proxy @$(date)"
bash -i -c "ssh -D 7070 -N user@my-ssh.example.com > /dev/null"
else
echo "proxy OK @$(date)"
fi
sleep 3
done
这行代码是导致“bash: no job control in this shell”的来源:
bash -i -c "ssh -D 7070 -N user@my-ssh.example.com > /dev/null"