Sponsored Content
Operating Systems AIX mkitab problem with /etc/inittab respawning Post 302240410 by jeffpas on Thursday 25th of September 2008 05:16:42 PM
Old 09-25-2008
I wonder if this has something to do with the fact that the dprdaemon program runs in the background (using 'fork').

I have found this page:

FGA: Mistakes to avoid when designing Unix dmon programs

Which seems to indicate that the 'fork' should be taken out of the daemon script.

Here is part of the daemon script, which I got off the 'Net:


## Define functions
sub daemonize {
chdir '/' or die "Can't chdir to /: $!";
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;
setsid or die "Can't start a new session: $!";
umask 0;
}


## The following executable called by dpr_daemon
sub monitor_logfiles {
`/dplogs/dpr/dpr_monitor`;
}


## initialize Perl
$[ = 1; # set array base to 1
$| = 1; # flush the buffer


## prepare dpr_daemon
daemonize();


## summon dpr_daemon
while(1) {
monitor_logfiles;

#wait for 20 seconds
sleep(20);
}


The article suggests that yes this would work if run off the command line, but I think it is saying that if it is called by SRC, then it will automatically run in the background and therefore fork isn't necessary.

Hmmmm
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

inittab solaris

Hi! Is it possible to add more ttys in Solaris, like with inittab in Linux? I want to switch between the ttys with Alt F1+F2+F3 .... like Linux does. How can i do this? (1 Reply)
Discussion started by: donald1111
1 Replies

2. UNIX for Dummies Questions & Answers

Command is respawning too rapidly..message

Ran into a new one today at work...... I was told to start 2 servers which were shut down due to a power outage(I don't believe they were shut down incorrectly). After fsck, both console logins appear with the message: INIT: Command is respawning too rapidly. Check for possible errors. >... (5 Replies)
Discussion started by: finster
5 Replies

3. UNIX for Dummies Questions & Answers

HP-UX respawning boot failure

Hello. System is a HP Visualize C3600 running X11 and after a power failure machine will not boot (see error messages below) From what I've read, this may be caused by a corrupted etc/inittab file. Solution suggested on other websites is to boot in single user mode and edit file inittab... (2 Replies)
Discussion started by: westcoast
2 Replies

4. HP-UX

INIT: Command respawning too rapidly

INIT:Command is respawning too rapidly Check for errors: id:cons /usr/sbin/getty console console A solution I read about in a different HPUX Forums help pages on line, said to add the -h option to this command in the /etc/inittab file to correct the problem. I tried this and it did not... (2 Replies)
Discussion started by: 1bigdog
2 Replies

5. Solaris

inittab in Solaris 10

Hi, In Solaris 9 and below release we are using the rc script in inittab. I don't have much idea abt inittab in Solaris. In Solris 9 and below: We use rc3 script to start up the server. And we run database script before the rc3. os:23:respawn:/etc/init.d/database start >/dev/null 2>&1... (7 Replies)
Discussion started by: kalpeer
7 Replies

6. Solaris

inittab entry does not works

Hi, I have a solaris 10 server,which has a process running that communicates with other system.I have made following entry in the inittab file. PM15:s12345:respawn:/ncm/bin/communicator PM15 : Unique process ID s12345 : run levels respawn : if anytime the process... (2 Replies)
Discussion started by: asalman.qazi
2 Replies

7. UNIX for Dummies Questions & Answers

What breaks inittab

Today there was a situation where processes running from inittab was broken. Can someone help me understand, how to find out, who might have stopped those processes? Or how does it get broken? G (2 Replies)
Discussion started by: ggayathri
2 Replies

8. AIX

problem to restart services from /etc/inittab in AIX6.1

hello, i have an AIX6.1.7.2 machine that it was upgraded recently from AIX5.3.9.4. when i kill system services that should restart automatically like /usr/sbin/cron it doesnt start. i checked my /etc/inittab file and i confirmed that this service is in respawn status so when i kill this process... (2 Replies)
Discussion started by: omonoiatis9
2 Replies

9. UNIX for Dummies Questions & Answers

Inittab configuration

I am installing BusyBox on a device that does not have keyboard or serial connection, so I log into the system with SSH. I am in doubt about what to put in the inittab file. This is the content of the file: ::sysinit:/etc/init.d/rcS ::respawn:/bin/login ::shutdown:/sbin/swapoff -a... (1 Reply)
Discussion started by: richard78
1 Replies

10. Shell Programming and Scripting

Script calling by inittab

Hi to all , i wrote a small script and i add it to inittab to start the script during Startup. The script works fine , if i call it from the prompt but if it is call from inittab it is runnng too but it does not recognize system variable like USER , LOGNAME. Since i running out of ideas i... (12 Replies)
Discussion started by: Nadielosabra
12 Replies
Net::Server::Daemonize(3)				User Contributed Perl Documentation				 Net::Server::Daemonize(3)

NAME
Net::Server::Daemonize - Safe fork and daemonization utilities SYNOPSIS
use Net::Server::Daemonize qw(daemonize); daemonize( 'nobody', # User 'nobody', # Group '/var/state/mydaemon.pid' # Path to PID file - optional ); DESCRIPTION
This module is intended to let you simply and safely daemonize your server on systems supporting the POSIX module. This means that your Perl script runs in the background, and it's process ID is stored in a file so you can easily stop it later. EXPORTED FUNCTIONS
daemonize Main routine. Arguments are user (or userid), group (or group id or space delimited list of groups), and pid_file (path to file). This routine will check on the pid file, safely fork, create the pid file (storing the pid in the file), become another user and group, close STDIN, STDOUT and STDERR, separate from the process group (become session leader), and install $SIG{INT} to remove the pid file. In otherwords - daemonize. All errors result in a die. As of version 0.89 the pid_file is optional. safe_fork Block SIGINT during fork. No arguments. Returns pid of forked child. All errors result in a die. set_user Become another user and group. Arguments are user (or userid) and group (or group id or space delimited list of groups). set_uid Become another user. Argument is user (or userid). All errors die. set_gid Become another group. Arguments are groups (or group ids or space delimited list of groups or group ids). All errors die. get_uid Find the uid. Argument is user (userid returns userid). Returns userid. All errors die. get_gid Find the gids. Arguments are groups or space delimited list of groups. All errors die. is_root_user Determine if the process is running as root. Returns 1 or undef. check_pid_file Arguments are pid_file (full path to pid_file). Checks for existance of pid_file. If file exists, open it and determine if the process that created it is still running. This is done first by checking for a /proc file system and second using a "ps" command (BSD syntax). (If neither of these options exist it assumed that the process has ended) If the process is still running, it aborts. Otherwise, returns true. All errors die. create_pid_file. Arguments are pid_file (full path to pid_file). Calls check_pid_file. If it is successful (no pid_file exists), creates a pid file and stores $$ in the file. unlink_pid_file Does just that. SEE ALSO
Net::Server. Net::Daemon, The Perl Cookbook Recipe 17.15. AUTHORS
Jeremy Howard <j+daemonize@howard.fm> Program flow, concepts and initial work. Paul Seamons <paul@seamons.com> Code rework and componentization. Ongoing maintainer. LICENSE
This package may be distributed under the terms of either the GNU General Public License or the Perl Artistic License All rights reserved. perl v5.18.2 2012-05-29 Net::Server::Daemonize(3)
All times are GMT -4. The time now is 03:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy