【发布时间】:2012-08-22 13:29:21
【问题描述】:
我想知道 rsync 在非守护模式下是如何工作的,它到底是什么?
从 rsync 手册页,我了解了守护程序模式的工作原理。 我对守护程序模式有所了解。守护进程是一个在后台持续监听连接的进程。
现在,场景是,我不想使用守护模式,因为它需要一些专用端口始终处于监听状态。
我想知道,非守护模式下的客户端(比如本地机器)如何在技术上调用服务器(比如远程机器)上的 rsync 监听器,反之亦然? 这种方法的原因是,*我不希望客户端事先知道服务器的端口号 *。 任何详细的解释将不胜感激。
【问题讨论】:
-
你查看
rsync的源代码了吗?也许它默认调用daemon(3),或者避免调用!您也可以使用strace来查找。 -
没有守护进程的 rsync 只使用 SSH/RSH。
-
嘿,Basile 谢谢你。我对 strace 命令的使用仅限于跟踪系统调用和信号。但是,我的查询问,如何在非守护模式下确定远程系统的端口号?是的,我查看了 rsync 的代码,这也太复杂了,无法找到调用 daemon(3) 的位置。那么,请解释一下如何使用 strace 来获得原始查询的解决方案?