Sponsored Content
Top Forums Programming How to find if a process a daemon ? Post 302218737 by Perderabo on Saturday 26th of July 2008 08:15:11 AM
Old 07-26-2008
Quote:
Originally Posted by matrixmadhan
Any process guarded from SIGHUP signal as nohup process and detached from controlling terminal will have a ppid of 1
Not true. Any time any daemon which happens to be ignoring sighup forks, it creates a counterexample to this statement. (init could fork without creating a counterexample, but it never ignores hup)
Quote:
Originally Posted by matrixmadhan
but they are not daemonized.
Actually any process that happens to meet these criteria are daemons. No controlling terminal means the process is a daemon. Whether or not a process is a daemon has nothing to do with the ppid or what signals it is ignoring.

With most versions of unix when you log in on the system console, the ppid of your login shell will be 1. Before the rise of tcp/ip the ppid of every login shell was 1. None of these login shells are daemons, they all have controlling terminals. You still may have other getty lines in /etc/inittab. Each such line is a potential interactive shell with a ppid of 1. But most other children spawned by init do not open ttys and remain daemons.

When a process exits, its children become owned by init. This does not impact whether of not those children are daemons. Some are. Some aren't.

cron will not have a pid of 1. Every time cron spawns a process, that new process is a daemon. Each of these daemons will not have a ppid of 1... their ppid will be pointing to cron.

When you need to determine if a process is a daemon or not, the ppid is completely irrelevant. Daemons and non-daemons can have a ppid of 1. Daemons and non-daemons can have a ppid other than one.

Daemons sometimes choose to not ignore sighup. Both inetd and init itself are examples of daemons that are listening for a HUP. When they get one, they reconfigure themselves. But it is more common for a daemon to be ignoring HUP.

It really it very simple.
Daemons have no controlling terminal.
Non-daemons have a controlling terminal.

Examples of stuff that have no bearing on a process' daemon status...
pid
ppid
signal mask
 

10 More Discussions You Might Find Interesting

1. Programming

Daemon process

Hi, I have to write a daemon process, which performs certain operations in the background. Now since it performs operations in the background, it should not display anything to the standard output. The problem is that it still displays, text on standard output. Can anyone tell me (it is... (2 Replies)
Discussion started by: s_chordia
2 Replies

2. Programming

What is a daemon process?

This is gonna seem really silly to almost evryone here - but I need to know : what is a daemon process? Thanks (6 Replies)
Discussion started by: Kanu77
6 Replies

3. UNIX for Advanced & Expert Users

zombie daemon process!!

My daemon process is the child of init and init has the responsibility to remove it, once it turns zombie. But I want to ask why the daemon process which is child of init turns zombie in the first place. What measures I have to take to avoid this? rish (1 Reply)
Discussion started by: rish2005
1 Replies

4. Linux

daemon process

how i will write the daemon process,if any body have sample daemon process send me. (1 Reply)
Discussion started by: suresh_rupineni
1 Replies

5. Shell Programming and Scripting

How to starting process as daemon using ssh command?

Hello, I need to run a command on remote Linux using the ssh command from my local machine. I am able to execute the command on remote machine using ssh but it's behaving strangely. The command is supposed to start a daemon process on remote linux box and the control should return back to me... (5 Replies)
Discussion started by: nitinshukla
5 Replies

6. UNIX for Dummies Questions & Answers

How to write Pro*C daemon process using multithreading?

Hello, I am new to this forum and this is my first post here... I have never worked on either Pro*C or Multithreading..Now, i have to write a Pro*C, Multithreading daemon process.. I dont know where to start.. Can anybody help me with examples? 1. need to write a Pro*C multithreading... (0 Replies)
Discussion started by: kachiraju
0 Replies

7. Shell Programming and Scripting

Diff between Bg and daemon process

Dear Unix Gurus, Plz provide major diff between background process and daemon process. Is it control available for daemon process?. (3 Replies)
Discussion started by: kkl
3 Replies

8. Shell Programming and Scripting

run this script as a daemon process

Hi, HI , I have a simple script that moves files from one folder to another folder, I have already done the open-ssh server settings and the script is working fine and is able to transfer the files from one folder to another but right now I myself execute this script by using my creditianls to... (3 Replies)
Discussion started by: nks342
3 Replies

9. UNIX for Dummies Questions & Answers

Oracle process running as user daemon

Hi, When process listing, I came across a process running as user daemon. daemon 23576 23574 0 07:32:04 ? 0:07 oracle (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) root 27526 27444 1 07:38:43 ttyp5 0:00 grep 23574 why a process runs as user daemon, when it should be... (3 Replies)
Discussion started by: wilsonee
3 Replies

10. Programming

Daemon process

I wish to make a process run in the background, but only one instance of it, and not many, so when the program is loaded, it has to check whether another instance of the same program is running and if so to exit. How do I do this ? (4 Replies)
Discussion started by: sundaresh
4 Replies
esmd(1M)																  esmd(1M)

NAME
esmd - Essential Services Monitor (ESM) Daemon SYNOPSIS
retry_seconds] DESCRIPTION
The Essential Services Monitor (ESM) daemon, maintains the availability of essential system daemons by automatically restarting them if they terminate. The ESM daemon monitors the Event Manager daemon, The ESM daemon is started by the init process when the system is ini- tialized to run level 2 and continues to run until the system is shut down or returned to single user mode. Only one instance of can run at a time. Configuration information is sent to the ESM daemon by a control program, which is run at key points in the startup and shutdown proce- dures. As startup or shutdown progresses, the control program updates the ESM state file, The control program then signals the daemon to reconfigure itself. On startup, state transitions occur after has started. On shutdown, transitions occur after each of these monitored daemons has termi- nated. After each transition, the ESM daemon determines which of the monitored daemons should be running and adjusts its monitoring activ- ities accordingly. The ESM daemon reports all state change information, including notice of failures and restarts, through the system logging daemon, syslogd. Messages are displayed on the system console during periods when syslogd is not running. See syslogd(1M) for more information. If the ESM daemon fails to restart a monitored daemon, it reports the error by posting a high priority message through syslogd, and makes no further restart attempts. The system administrator should investigate the problem and restart the failed daemon. The ESM daemon peri- odically attempts to resume monitoring of the daemon, and posts an informational message when it succeeds. If the monitored daemon fails again once monitoring has resumed, the ESM daemon again attempts to restart it. The ESM daemon can be forced to restart a failed daemon by sending a SIGHUP signal to the process. If there is a need to temporarily disable the ESM daemon for test purposes, in order to prevent the monitored daemons from being restarted automatically, send a SIGSTOP signal to the process. To reactivate the ESM daemon, send a SIGCONT signal to the process. The ESM daemon should never be disabled on a production system. If the ESM daemon is terminated unexpectedly, it is restarted automatically by init. Options The command recognizes the following options: Limit the priority of any syslog messages posted by the ESM daemon to "alert." If this option is not specified, posts an "emergency" message if it cannot restart a failed daemon. A message may be sent to all users currently logged in to the system. The option should only be used if the system administrator is actively monitoring syslogd messages. Specify the interval between attempts to begin monitoring a daemon that has failed, and which has been unable to restart automatically. The default period is 30 seconds. Specifying a period of zero disables retrying. Notes To use the start options, you must add them to the startup command in the file. The daemon reports any invalid start options with a single generic message through syslogd. Restrictions The daemon terminates with an error message if it is started by any process other than init. The /sbin/init.d/esm program is intended to be run by the system startup and shutdown process and should not be run from the command line. Only one instance of can run at a time. RETURN VALUE
The following exit values are returned: 0 (Zero) Successful completion. not 0 An error occurred. FILES
Executable file Configuration control script Initialization process control file dispatched by boot init Monitoring state file Receives esmd status messages AUTHOR
was developed by Hewlett Packard Company. SEE ALSO
Commands kill(1), evmd(1M), init(1M), syslogd(1M). Files inittab(4). esmd(1M)
All times are GMT -4. The time now is 02:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy