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
rdc(1M) 																   rdc(1M)

NAME
rdc - user interface for Routing Administration Manager (RAMD) SYNOPSIS
coresize] filesize] seconds] DESCRIPTION
provides a user-oriented interface for working with the and routing daemons. and are referred to as routing daemons. provides a command- line interface to start and stop these daemons. In addition, it provides commands to check the configuration file for syntax errors, make the daemon dump core, and dump the current state of the daemon. can reliably determine the running state of the routing protocols. This can be used in shell scripts to manipulate Options supports the following command-line options: Specifies that does not change the kernel forwarding table while running and routing daemons. This option is useful to test the daemons, when the daemons should operate as a route server that does not forward. Suppresses the stderr messages of and routing daemons. This option can be used to suppress informational messages that are normally printed to the standard output, and the log error messages through syslogd(1M). Specifies the time in seconds for which waits to start, stop, reconfigure and terminate daemons. By default, this value is set to 10 seconds. Specifies the maximum size of a core dump produced by the routing daemons invoked using Specifies the maximum size of a file produced or created by the routing daemons invoked using Commands The following commands are used to send HP-UX signals to or routing daemons for various purposes: Sends an abort signal to the requested daemon and terminates the daemon with a core dump. The core files are generated in the file where can be or Sends a signal to the requested daemon to dump its current state into the where is one of the routing daemons. Kills the daemon abruptly. This command is used when the daemon hangs. Sends signal to the requested daemon to reread its configuration file and reconfigure its current state. Sends signal to the requested daemon to terminate gracefully. Sends signal to the daemon to toggle the trace. If tracing is enabled, this command causes tracing to be suspended and the trace file to be closed. If tracing is disabled, the trace file is reopened and tracing initiated. This is useful to move the trace files. If or the routing daemon tracing is modified using this command and the daemons are reconfigured with the trace options, the effect on tracing is with respect to the configuration file. Sends signal to to recheck the interface configuration. periodically checks the kernel interface configuration for any changes. This command can be used to force the daemon to check the interface status immediately. Currently, the only valid argument for this com- mand is for checking on By default, obtains its configuration information from the file. maintains many versions of the configuration file. The versions of the configuration file maintained by are as follows: command of is used to create this configuration file. When must install a new configuration file using the command, the existing file is renamed as file. When creates a new configuration file, using the command, the existing file is renamed as and the existing is renamed as file. Configuration File Commands The following commands perform operations related to configuration files: Checks for syntax errors. This is done after changes are made to the configuration file and before reconfiguring the routing daemons. The system administrator use this command to ensure that there are no syntax errors in the configuration file, which can otherwise terminate the daemons on reconfiguration. Checks the file for syntax errors. Renames the file to retaining the older versions of the configuration files. This operation fails if does not exist. Replaces the old configuration file to This command fails, if the file does not exist or if the file is of zero length, or if the backout command deletes an existing, non-zero length file. Performs a operation even if the file exists and is of non-zero length. Sets all configuration files to mode 664, owner root and group trusted non-root user. This allows a trusted non-root user to modify the configuration files. Creates a new configuration file, with zero length. The file mode is set to 664, owner root and group trusted non-root user. This allows a trusted non-root user to install a new configuration file. Controlling Daemons The following commands can be used to control the daemons: Starts The command returns an error if is already running. It invokes and waits for the time period specified with option. A non-zero exit status is returned, if an error is detected while executing the binary, or if a lock is not obtained on the pid file within the speci- fied wait time. Starting invokes all the configured protocols in the configuration file of The following commands can be used to determine the current state of the daemon or to stop or restart and other IPv6 routing protocols. Determines if daemons are currently running. exits with a zero status if the daemon is running and with a non-zero value if the daemons are not running. Stops the requested routing daemon gracefully. Stopping stops all the daemons. Restarts the requested daemon. reports an error, if there is a failure. EXAMPLES
To start type the following at the HP-UX command prompt: If successful, the pid of the daemon is displayed. To get the current state of the daemons, type the following at command prompt: This will dump the current state of the and routing daemons. The dump files for the and routing daemons are and respectively; where is one of the routing daemons. To reconfigure the routing daemons, change the configuration file and issue the following command at the command prompt: AUTHOR
was developed by Future software Ltd. FILES
where, can be or the routing daemons. SEE ALSO
kill(1), ram_monitor(1M), ramd(1M), syslogd(1M), signal(2), ramd.conf(4). rdc(1M)
All times are GMT -4. The time now is 08:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy