当我在 Linux 主机上执行
ssh -f 10.10.47.47 "/opt/omni/bin/mbuffer -4 -v 0 -q -I 8024 | /usr/sbin/zfs receive tank/test"
然后我在远程主机上看到
27349 ? S 0:00 bash -c /opt/omni/bin/mbuffer -4 -v 0 -q -I 8024 | /usr/sbin/zfs receive tank/t
27350 ? S 0:00 /opt/omni/bin/mbuffer -4 -v 0 -q -I 8024
27351 ? S 0:00 /usr/sbin/zfs receive tank/test
我原本期望只是看到这个27349
过程。
问题
为什么要ssh -f
创建另外两个进程?
但是他们仍然搞乱了,mbuffer
因为-I 8024
它在端口 8024 上设置为监听模式?
答案1
ssh
打开一个 shell 并告诉它执行两个程序,mbuffer
这zfs
两个程序通过管道连接。为此,shell 需要分叉两个进程,或者您知道它们如何以其他方式执行吗?
我不明白最后一句话。出了什么问题?