07-07-2008
Daemons can have any ppid and a ppid of 1 is no guarantee that you're a daemon. I like the open /dev/tty idea. It's portable. But of course it can fail for other reasons. No one ever did a
rm /dev/tty
on any of your systems? Also the process could be out of fd's, etc. Still it's the best way. Depending on the unix system, ther may be a non-portable way. Get the source code for ps and see how it finds this stuff out. But that is a lot of trouble to avoid opening /dev/tty. I would go with that.
10 More Discussions You Might Find Interesting
1. Programming
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
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
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
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
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
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
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
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
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
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
LEARN ABOUT OPENDARWIN
mount_fdesc
MOUNT_FDESC(8) BSD System Manager's Manual MOUNT_FDESC(8)
NAME
mount_fdesc -- mount the file-descriptor file system
SYNOPSIS
mount_fdesc [-o options] fdesc mount_point
DESCRIPTION
The mount_fdesc command attaches an instance of the per-process file descriptor namespace to the global filesystem namespace. The conven-
tional mount point is /dev and the filesystem should be union mounted in order to augment, rather than replace, the existing entries in /dev.
This command is normally executed by mount(8) at boot time.
The options are as follows:
-o Options are specified with a -o flag followed by a comma separated string of options. See the mount(8) man page for possible options
and their meanings.
The contents of the mount point are fd, stderr, stdin, stdout and tty.
fd is a directory whose contents appear as a list of numbered files which correspond to the open files of the process reading the directory.
The files /dev/fd/0 through /dev/fd/# refer to file descriptors which can be accessed through the file system. If the file descriptor is
open and the mode the file is being opened with is a subset of the mode of the existing descriptor, the call:
fd = open("/dev/fd/0", mode);
and the call:
fd = fcntl(0, F_DUPFD, 0);
are equivalent.
The files /dev/stdin, /dev/stdout and /dev/stderr appear as symlinks to the relevant entry in the /dev/fd sub-directory. Opening them is
equivalent to the following calls:
fd = fcntl(STDIN_FILENO, F_DUPFD, 0);
fd = fcntl(STDOUT_FILENO, F_DUPFD, 0);
fd = fcntl(STDERR_FILENO, F_DUPFD, 0);
Flags to the open(2) call other than O_RDONLY, O_WRONLY and O_RDWR are ignored.
The /dev/tty entry is an indirect reference to the current process's controlling terminal. It appears as a named pipe (FIFO) but behaves in
exactly the same way as the real controlling terminal device.
FILES
/dev/fd/#
/dev/stdin
/dev/stdout
/dev/stderr
/dev/tty
SEE ALSO
mount(2), unmount(2), tty(4), fstab(5), mount(8)
CAVEATS
No ~. and .. entries appear when listing the contents of the /dev/fd directory. This makes sense in the context of this filesystem, but is
inconsistent with usual filesystem conventions. However, it is still possible to refer to both ~. and .. in a pathname.
This filesystem may not be NFS-exported.
HISTORY
The mount_fdesc utility first appeared in 4.4BSD.
4.4BSD March 27, 1994 4.4BSD