look in the archives under Fork & InactiveDestroy.


On 30-Aug-01 Jay Strauss wrote:
> Hi,
> 
> I'm trying to write a daemon that accesses my database.  I thought I could
> create the connection in the parent, and use it in the child.  But that
> doesn't seem to work.  Below is the code.  Any help would be appreciated
> 
> Thanks
> Jay
> 
>#!/usr/bin/perl -w
> 
> use strict;
> use DBI;
> use POSIX qw(setsid);
> 
> $|=1;
> 
> my $service = "o817";
> my $userid = "jstrauss";
> my $passwd = "passwd";
> 
> my $dbh = DBI->connect("dbi:Oracle:$service","$userid","$passwd",
>    { RaiseError => 1, AutoCommit => 0 }) or
>    die "Can't connect to Oracle database: $DBI::errstr\n";
> 
> my $sth = $dbh->prepare("select fromuser, touser from refresh");
> 
> &daemonize;
> 
> while(1) {
>    print "Hello...\n";
> 
>    $sth->execute;
> 
>    while (my @row = $sth->fetchrow_array ) {
>      print "$row[0] - $row[1]\n";
>    }
> 
>    sleep(5);
> }
> 
> sub daemonize {
>    chdir '/'                 or die "Can't chdir to /: $!";
>    open STDIN, '/dev/null'   or die "Can't read /dev/null: $!";
>    open STDERR, '>>/dev/null' or die "Can't write to /dev/null: $!";
>    defined(my $pid = fork)   or die "Can't fork: $!";
>    exit if $pid;
>    setsid                    or die "Can't start a new session: $!";
>    umask 0;
> }
> 
> 
> 
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
> 

----------------------------------
E-Mail: Scott T. Hildreth <[EMAIL PROTECTED]>
Date: 30-Aug-01
Time: 08:27:49
----------------------------------

Reply via email to