【发布时间】:2011-05-18 18:11:01
【问题描述】:
这是我正在使用的命令:
rsync --partial --timeout=60 --rsh='/usr/bin/ssh -i /root/.ssh/id_rsa' /path/file user@host:/remote_path/
这在我在命令行上运行时有效,但在我的 C 程序中使用 system() 时无效。
更正:无论程序运行多长时间,此调用在启动后都不起作用。如果程序重新启动,无论程序运行多少次,它都会运行。
status = system("rsync --partial --timeout=60 --rsh='/usr/bin/ssh -i /root/.ssh/id_rsa' /path/file user@host:/remote_path/");
rsync 的返回值为 12:rsync 协议数据流错误。
【问题讨论】:
-
当您运行调用 system() 的程序时,也许您有不同的工作目录?
-
抱歉,我使用的是绝对路径,而不是我在示例中使用的本地路径。我会改变它。 (将节目改为使用)
-
php 的类似问题:stackoverflow.com/questions/5352194/…
-
您应该在调用 system() 的位置发布实际代码。
-
这是在 Windows 上吗? Windows 的 system() 参数解析被破坏并且不能正确地支持引号,这可能导致无穷无尽的问题。