- 论坛徽章:
- 0
|
20可用积分
部分代码
Data::Search中使用了$rt=`外部命令`- use AnyEvent::Fork;
- my $fh=new IO::File ">/tmp/ForkOperations.log";
- my $searchTemplate=AnyEvent::Fork->new->require("Data::Search")->send_fh($fh);
- my $cv = AnyEvent->condvar;
- sub start {
- if ($isDaemon==1) {
- exit if fork;
- &setsid();
- chdir '/';
- umask 022;
- close STDIN;
- close STDOUT;
- close STDERR;
- open STDOUT,'>/dev/null';
- open STDERR,'>/dev/null';
- my $pid=fork;
- if ($pid == 0) {
- &child_process();
- exit;
- } else {
- exit 254;
- }
- } else {
- &child_process();
- }
- }
- sub child_process {
- if ($timer->{checkServiceRelation}->{enable}) {
- $timer->{checkServiceRelation}->{handle}=AnyEvent->timer(
- after=>$timer->{checkServiceRelation}->{after},
- interval=>$timer->{checkServiceRelation}->{interval},
- cb=>sub{
- $log->w_log(3,"[checkGameClientConnStat] on timer");
- $searchTemplate->fork->send_arg($rip,$rport)->run("Data::Search::checkServiceRelation",sub {
- });
- }
- );
- }
- $cv->wait;
- }
复制代码 ps 结果
- 26626 22686 22686 26626 pts/2 22686 S+ 0 0:00 | \_ DataService
- 22724 22992 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 22993 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 22995 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 22996 22686 26626 pts/2 22686 S+ 0 0:00 | | \_ Data::Search::checkServiceRelation of 22686
- 22724 22997 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 22998 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23002 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23004 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23006 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23010 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23014 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23019 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23022 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23023 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23027 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23031 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23032 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23033 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23040 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23043 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23044 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
- 22724 23048 22686 26626 pts/2 22686 Z+ 0 0:00 | | \_ [Data::Searc] <defunct>
复制代码 |
|