in reply to how to make a demon in perl?
You don't need to make a daemon for the most part you can use nohup (see man 1 nohup). nohup protects your process from getting the signal HUP when you disconnect your terminal (eg close your ssh client). This will allow your perl script should keep running. My Debian box's nohup appends output of the script to nohup.out. So if your script spews information out, watch the size of nohup.out files.
If you still want to create a daemon here is some code I stumbled on and saved for a rainy day. I honestly can't remember the source site on the web. (If you know it and I should put it here let me know!)
--blm--use POSIX qw(setsid); chdir '/' or die "Can't chdir to /: $!"; umask 0; open STDIN, '/dev/null' or die "Can't read /dev/null: $!"; #open STDOUT, '>/dev/null' or die "Can't write to /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; #parent dies #Here is the daemon part setsid or die "Can't start a new session: $!"; while(1) { sleep(5); print "Hello...\n"; }
Please note: You use my code at your risk. There are no garantees implied or otherwise.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: how to make a demon in perl?
by zigdon (Deacon) on Oct 01, 2002 at 12:35 UTC | |
by blm (Hermit) on Oct 01, 2002 at 13:14 UTC | |
by zigdon (Deacon) on Oct 01, 2002 at 13:33 UTC | |
by blm (Hermit) on Oct 01, 2002 at 13:59 UTC | |
by zigdon (Deacon) on Oct 01, 2002 at 14:15 UTC | |
|
Re: Re: how to make a demon in perl?
by Sihal (Pilgrim) on Oct 01, 2002 at 12:13 UTC |