#!/usr/bin/perl use Proc::Daemon; Proc::Daemon::Init; my @args = qw/whatever/; while (1) { defined (my $cpid = fork) or sleep(10), next; $cpid and wait, next; exec '/path/to/PROGRAM', @args; exit -1; }