使用ssh在后台执行远程脚本不会立即退出

为什么follow ssh命令不会立即退出。相反,它将在1m后退出

ssh -vvv <usr>@<ip> 'sh -c "sleep 60 &"'

但是我确实告诉shell在后台运行sleep命令,我不知道为什么

cb46124994 回答:使用ssh在后台执行远程脚本不会立即退出

这是因为sh进程打开的文件描述符间接连接到ssh会话的tty。
sleep命令不会在stdin上执行任何操作,也不会将任何内容发送回stdout/stderr。但是,从sh继承的FD仍然处于打开状态。

解决方法是通过ip / op / err重定向关闭这些FD。

ssh -vvv <usr>@<ip> 'sh -c "sleep 60 &" &>/dev/null </dev/null'
本文链接:https://www.f2er.com/3105373.html

大家都在问