免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5794 | 回复: 10
打印 上一主题 下一主题

如何把perl脚本做成一个服务,放在后台运行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-16 16:08 |只看该作者 |倒序浏览
windows 2000环境下,如何把perl脚本做成一个服务,放在后台运行?

论坛徽章:
0
2 [报告]
发表于 2005-11-16 16:21 |只看该作者
原帖由 hxlqjs 于 2005-11-16 16:08 发表
windows 2000环境下,如何把perl脚本做成一个服务,放在后台运行?



win32下也支持fork的吧?fork出一个子进程,然后父进程die掉,把子进程的3个标准句柄脱离终端,重定向到某个地方即可。

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
3 [报告]
发表于 2005-11-16 17:25 |只看该作者
www.cpan.org
Win32::Service

这个模块很好用的,我用过的。

论坛徽章:
0
4 [报告]
发表于 2005-11-17 16:18 |只看该作者
脱离终端怎么做?

论坛徽章:
0
5 [报告]
发表于 2005-11-17 19:18 |只看该作者
原帖由 duketang 于 2005-11-17 16:18 发表
脱离终端怎么做?


脱离终端有几个条件:
父进程die掉;
子进程成为进程组的leader;
把3个标准句柄重定向到某一处(例如/dev/null);
为了捕获错误,通常$SIG{__DIE__} and $SIG{__WARN__}这些句柄都要重载。

论坛徽章:
0
6 [报告]
发表于 2005-11-17 19:39 |只看该作者
原帖由 兰花仙子 于 2005-11-17 19:18 发表


脱离终端有几个条件:
父进程die掉;
子进程成为进程组的leader;
把3个标准句柄重定向到某一处(例如/dev/null);
为了捕获错误,通常$SIG{__DIE__} and $SIG{__WARN__}这些句柄都要重载。


我不知,linux下的daemon程序算不算,脱离终端?

上面说的是一种!

还有一种
父进程die掉;
子进程成为进程组的leader;
然后子进程在fork出一个进程,就是孙子了!
die掉子进程,应该就可以了!这样就成了daemon了!

论坛徽章:
0
7 [报告]
发表于 2005-11-17 19:43 |只看该作者
原帖由 POLOGG 于 2005-11-17 19:39 发表


我不知,linux下的daemon程序算不算,脱离终端?

上面说的是一种!

还有一种
父进程die掉;
子进程成为进程组的leader;
然后子进程在fork出一个进程,就是孙子了!
die掉子进程,应该就可以了!这 ...


daemon一般都是脱离终端的,其实一般而言,脱离终端的目的就是为了脱离终端信号例如SIGHUP的影响。
Linux下,用nohup命令来运行程序,也实现了上述目的。

论坛徽章:
0
8 [报告]
发表于 2005-11-18 16:20 |只看该作者
这些方法都带有unix的深深烙印,习惯了自己写程序处理一切问题,这样做加到后台是可以实现,如何做成SCM(service control mananger)的一个服务?通过services.msc就可以方便的起停服务.?

通过两天的艰苦摸索,在win32::daemon::simple和win32::daemon中提供了一些思路,他可以把当前进程变成一个服务,提供了启动和卸载服务功能,这些我都完成了,比较晕的是不能通过services.msc来起停服务,还有其中的serviceloop的用法比较让人晕,循环接受SCM的消息是对的,干吗我的应用也要跟着她LOOP.

windows程序要求也太高了,只要用户点一下安装,所有问题全搞定,在这方面,UNIX确实要向WINDOWS学习,但这可害苦了我们这些苦命的人

继续想办法....

论坛徽章:
0
9 [报告]
发表于 2005-11-18 17:35 |只看该作者
Komodo的perl Dev Kit有将其转化成服务的编译程序,不知道对你有没有用!!!

论坛徽章:
0
10 [报告]
发表于 2005-11-21 16:34 |只看该作者
能不能做到linux开机自动启动perl脚本
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP