后台脚本挂起的几种原因
浏览:2571次 出处信息
或多或少我们都会在crontab中放置几个定时任务, 这些任务的监控是个问题, 最严重的当属脚本执行到一半挂起, 大部份情况下还是由于脚本写得不够强壮, 要检查一下.
我经历过以下三种情况下的挂起, 第一种是在调用sqlplus时, 由于连接信息不对, 导致第一次不能登录数据库, sqlplus处于等待输入密码的阶段, 引起脚本挂起. 解决方法如下, 使用"-L"选项禁止出现密码输入提示.
sqlplus -L -s "/ as sysdba" << EOF...
exit;
EOF
第二个情况是, 用ssh去远程主机执行命令时, 和远程主机的ssh没有打通, 导致ssh也出现等待输出密码阶段, 引起程序挂起. 解决方法也是用选择禁用密码输入.
ssh -n -a -q -o NumberOfPasswordPrompts=0 …第三种情况是, 由于网络路由问题, 或其他网络服务问题, 引起网络IO一直等待. 解决的方法是要选择可控性比较强的脚本语言, 比如在Perl中(Linux/Unix)中, 就可以通过信号中断机制来处理挂起情形.
eval {local $SIG{ALRM} = sub { die "???\\n" };
alarm 20;
可能会超时的任务代码;
alarm 0;
};
有其他的情况, 请共享出来, 好让大家少走弯路, 助人为快乐之本.
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:ASM使用AIX raw disk的问题
后一篇:Linux下的NFS >>
文章信息
- 作者:anysql 来源: AnySQL.net
- 标签: 挂起
- 发布时间:2009-10-11 00:06:58
近3天十大热文
-
[74] memory prefetch浅析
-
[53] find命令的一点注意事项
-
[36] 基本排序算法的PHP实现
-
[33] 卡诺模型―设计品质与设计价值的思考
-
[32] Oracle bbed工具的编译
-
[26] 程序员技术练级攻略
-
[26] 8大实用又重要Mac使用技巧
-
[26] 读书笔记-壹百度:百度十年千倍的29条法则
-
[24] 两行 JavaScript 代码
-
[22] 小屏幕移动设备网页设计注意事项