如何在unix shell脚本中关闭ftp连接

如何在unix shell脚本中关闭ftp连接,unix,ftp,Unix,Ftp,我想在连接处于非活动状态时关闭FTP连接,但由于某些原因,在传输文件时并不总是会卡住,然后在使用Unix Shell脚本时,连接保持打开状态而不传输任何内容,并且无法继续下一行,因为FTP命令行卡住了 有没有一种方法可以从unix shell脚本结束非活动连接 ftp -nv <<-EOD > ${tmpftplog} open ${server} user ${username} ${password} put ${datafile} ${mfDatafile} //<

我想在连接处于非活动状态时关闭FTP连接,但由于某些原因,在传输文件时并不总是会卡住,然后在使用Unix Shell脚本时,连接保持打开状态而不传输任何内容,并且无法继续下一行,因为FTP命令行卡住了

有没有一种方法可以从unix shell脚本结束非活动连接

ftp -nv <<-EOD > ${tmpftplog}
open ${server}
user ${username} ${password}
put ${datafile} ${mfDatafile} //<---Line Stuck!!
bye
EOD

ftp-nv此代码将执行以下操作:

#!/bin/sh

FTP_USERNAME=username
FTP_PASSWORD=password
FTP_SERVER=ftp_address

run_access_server()
{
              lftp <<STOP
              open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_SERVER
              # put your commands here
              bye
STOP
}

run_access_server
#/垃圾箱/垃圾箱
FTP_用户名=用户名
FTP_PASSWORD=密码
FTP\u服务器=FTP\u地址
运行\u访问\u服务器()
{

lftp此代码将完成以下工作:

#!/bin/sh

FTP_USERNAME=username
FTP_PASSWORD=password
FTP_SERVER=ftp_address

run_access_server()
{
              lftp <<STOP
              open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_SERVER
              # put your commands here
              bye
STOP
}

run_access_server
!/bin/sh
FTP_用户名=用户名
FTP_PASSWORD=密码
FTP\u服务器=FTP\u地址
运行\u访问\u服务器()
{

lftp你说问题是ftp在连接保持打开时被卡住,你还说你想在没有连接时关闭它。你想测试哪种连接状态?不,我的意思是,传输文件时的ftp连接,有时,并非总是文件被卡住,连接保持打开,可能会超过3个小时,并在连接打开且未传输任何内容的情况下卡在该行中,然后ksh shell脚本无法继续使用该脚本。您正在运行哪个操作系统?这是SunOS,这是操作系统。如果您有Solaris 11,您可能希望尝试将运行另一个脚本的
timeout
命令命令(如ftp)如果它运行的时间超过一定的时间,就会终止它。你说问题是ftp在连接保持打开状态时被卡住,你还说你想在没有连接时关闭它。你想测试哪种连接状态?不,我的意思是,传输文件时的ftp连接,有时不是al文件被卡住和连接保持打开的方式,可能会超过3小时,并且在连接打开且未传输任何内容的情况下卡在该行中,然后ksh shell脚本无法继续使用该脚本。您正在运行哪个操作系统?这是SunOS,这是操作系统。如果您有Solaris 11,您可能会要尝试
超时
命令,该命令将运行另一个命令(如ftp),如果运行时间超过一定时间,将终止该命令。