Linux
為什麼 ssh -f 在使用管道時會創建多個程序?
當我在我的 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 需要再分叉兩個程序,或者你知道它們如何被執行嗎?最後一句沒看懂 有什麼亂七八糟的?