Linux

為什麼 ssh -f 在使用管道時會創建多個程序?

  • November 13, 2014

當我在我的 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 上的監聽模式嗎?

ssh打開一個 shell 並告訴它執行兩個程序,mbuffer它們zfs通過管道連接。要做到這一點,shell 需要再分叉兩個程序,或者你知道它們如何被執行嗎?

最後一句沒看懂 有什麼亂七八糟的?

引用自:https://serverfault.com/questions/644091