Chinaunix

标题: 如何让perl脚本重起自身 [打印本页]

作者: intact    时间: 2008-03-07 10:57
标题: 如何让perl脚本重起自身
写了一个服务器端的数据传送脚本,但是偶尔会自动退出,或者有时用户会关掉忘了重起。

请教诸位,有什么办法能够保持脚本一直运行,无论是什么原因退出都会自动重起。

这几天在网上搜了搜,不过没什么头绪。是用多个进程吗?
作者: hitsubunnu    时间: 2008-03-07 11:04
原帖由 intact 于 2008-3-7 10:57 发表
写了一个服务器端的数据传送脚本,但是偶尔会自动退出,或者有时用户会关掉忘了重起。

请教诸位,有什么办法能够保持脚本一直运行,无论是什么原因退出都会自动重起。

这几天在网上搜了搜,不过没什么头绪 ...


用cron定时运行 一个检查程序  监控一下

检查程序需要看你的实际情况  比如数据多长时间没更新

或者监控进程也应该可以实现

[ 本帖最后由 hitsubunnu 于 2008-3-7 11:06 编辑 ]
作者: intact    时间: 2008-03-07 11:08
最初的想法也是这样,不过因为是在win2000机器上,不知道MS的scheduler行不行。

想着应该有办法在脚本内部实现的。另外一台机器上一个法国的老外就做了一个类似的,不过是C做的,改完配置,把应用关了就会立刻重起,当时没问是怎么做的。
作者: redicaps    时间: 2008-03-07 20:12
另外写个脚本
while(1){
    perl XXXX
}
作者: intact    时间: 2008-03-11 11:36
这个好像就和本意不符了。呵呵

anyway, 还是写个定时check的程序比较容易,不过我怎么才能知道perl.exe 进程运行的是那个脚本呢? 因为同时会有几个perl脚本在运行的。
作者: odacharlee    时间: 2008-03-13 23:02
试试开两个进程互相监视一下
作者: orangetouch    时间: 2008-03-13 23:24
linux下有一个叫atexit的函数,可以在程序结束时执行一个函数。

windows下有没有类似的?

或者是在结束时有一个消息?
作者: intact    时间: 2008-03-17 08:57
嗯, perl好像也有的,先去找找。。。。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2