以下是使用PHP的ssh2_scp_send()
函数的代码段,尝试将文件上传到ssh服务器:
<?php
$conn = ssh2_connect('192.168.86.241', 22);
ssh2_auth_password ($conn, $username, $password);
if (ssh2_scp_send($this->connection, $local_file, $remote_file)) {
echo 'error';
} else {
echo 'done';
}
我的问题是,在发送大文件时,或者我故意杀死ssh服务器时,此脚本的进程将不会自动退出,最终会占用所有客户端计算机资源。
linux中的strace
或mac中的dtruss
显示进程一直调用recvfrom()
,以下是命令结果的屏幕截图: