Chinaunix
标题:
紧急求救:FTP进程挂住不处理文件了
[打印本页]
作者:
c_fanatic
时间:
2009-06-03 11:51
标题:
紧急求救:FTP进程挂住不处理文件了
自己写有有一个FTP_funcition.sh不停来处理文件。可是有时候该进程会hang住不动,但没有死掉,就是不再处理文件了,杀掉重新启动以后又可以继续了。
就是找不到原因。
如下是该shell的ftp的代码部分:
cat $INPUT_FTP_FILES | while read text
do
PARTNER=`head -1 $text | cut -c40-54 | sed 's/ //g;'`
echo "ftp -n -v << @" > $FTP_COMMAND_FILE
echo "open ${HOST_MACHINE}" >> $FTP_COMMAND_FILE
echo "user ${HOST_USER} ${HOST_PASS}" >> $FTP_COMMAND_FILE
echo put $text %'"'$PARTNER'"'%$DATA_TYPE%%b | tee -a $OUTPUT_LOG_FILE ###这里写了log
echo put $text %'"'$PARTNER'"'%$DATA_TYPE%%b >> $FTP_COMMAND_FILE
echo "pwd" >> $FTP_COMMAND_FILE
echo "quit" >> $FTP_COMMAND_FILE
echo "@" >> $FTP_COMMAND_FILE
chmod 755 $FTP_COMMAND_FILE
# Run ftp
#--------
FTP_OUT=`$FTP_COMMAND_FILE`
FTP_OUTPUT=`echo $FTP_OUT | grep "TIP status: No errors detected." | awk '{print "Success"}'`
FTP_OUTPUT=$FTP_OUTPUT" "`echo $FTP_OUT | grep "TIP status: ." | awk '{print "Success"}'`
FTP_RESULT=`echo $FTP_OUT | grep -c "Transfer complete"`
FTP_RESULT=`expr $FTP_RESULT + 0`
done
最近一次又发生了,检查了log内容,发现最后一行是
put CS.OOLU.GOBIZ.CGOMANIFESTO.20090526164626.uif %"GOBIZ"%CGMANIFEST%%b
然后就再也不工作了。感觉好象是pwd这个命令导致的。但是为什么只是偶尔呢
请高手帮忙解答解答。
作者:
ziggler
时间:
2009-06-03 12:15
每次日志的最后一行,能统计出来吗,的找规律
作者:
c_fanatic
时间:
2009-06-03 12:22
标题:
回复 #2 ziggler 的帖子
前几次的不知道是怎么回事,我也是刚接手检查这个问题。
不过不知道有哪些原因会造成该FTP进程挂住.
谢谢
作者:
ziggler
时间:
2009-06-03 12:44
标题:
回复 #3 c_fanatic 的帖子
一定时间以后,内存消耗的差不多 了?或者跟传输的文件本身有没有关系?
作者:
merlin852
时间:
2009-06-03 13:37
有时候该进程会hang住不动,估计是和系统有关,和shell脚本应该没什么关系
建议不要循环处理,直接开新的进程ftp文件,不要等上次结束再执行下次ftp
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2