11-18-2005
I guess that either technique presented in those links is good enough, but I have to say that there is some room for improvement. Both of these techniques are relying on the parent to not make strange mistakes prior to invoking the daemon. We can do a better job of protecting ourself from a insane or hostile parent. By using two forks separated by a setsid() we can create a process that is guaranteed to not have a controlling terminal
or even have the ability to accidentally acquire one. I kinda like the idea of closing all possible fd's, but using gettablesize sabotages the idea. gettablesize is basicly a getrlimit(RLIMIT_NOFILE) and is returning the soft limit. You can open a file and then set the soft limit lower...the file won't close or anything. And if the total number of open file is low, you can still open new files. Using sysconf() can avoid that.
Here is a link that gets all of this right
1.7 How do I get my program to act like a daemon? This link is from the Usenet comp.unix.programmer FAQ. From the same FAQ, also see
Daemon utility functions. In fact, see the entire FAQ. The whole thing is excellent, despite being a little dated.
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi
I have a directory where sometimes a file will come (in a name format say file001.txt).
I want to run a job (.ksh file) as soon as a new file comes into the directory.
How can I write a shell script which will run in the background and monitor arrival of new file in the directory?
... (11 Replies)
Discussion started by: sbasak
11 Replies
2. 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
3. Shell Programming and Scripting
I need to find all the files that have group Read or Write permission or files that have user write permission.
This is what I have so far:
find . -exec ls -l {} \; | awk '/-...rw..w./ {print $1 " " $3 " " $4 " " $9}'
It shows me all files where group read = true, group write = true... (5 Replies)
Discussion started by: shunter63
5 Replies
4. Shell Programming and Scripting
Hi Guys,
I hope this is the right forum to post this.
I have a directory where files will be dumped at any time of the day and I want to run scripts as soon as new files come into the directory.
How can I write a daemon that detects when new files have been uploaded to the directory?
... (1 Reply)
Discussion started by: regie101
1 Replies
5. IP Networking
Hi,
We have smb client running on two of the linux boxes and smb server on another linux system. During a backup operation which uses smb, read of a file was allowed while write to the same file was going on.Also simultaneous writes to the same file were allowed.Following are the settings in the... (1 Reply)
Discussion started by: swatidas11
1 Replies
6. Programming
Can anyone tell what happens if each end writes at the same time on the same socket ?
- if one of them issues a read() after write() has completed, will it record into the buffer what the other sent ?
ex.
e1 writes to e2 - - - while - - - e2 writes to e1 (at the same time)
e1 read () - what... (1 Reply)
Discussion started by: gendaox
1 Replies
7. Shell Programming and Scripting
Hi All,
I need the answer of below question?
1) How to write multiple cronjobs in shellscript? Is there any way or we cant write in shellscript...
Regards,
Priyanka (2 Replies)
Discussion started by: pspriyanka
2 Replies
8. Programming
(Apologies for any typos.)
OSX 10.12.3 AND Windows 10.
This is for the serious Python experts on at least 3.5.x and above...
In script format sys.stdout.write() AND sys.stderr.write() seems to work correctly.
Have I found a serious bug in the interactive sys.stdout.write() AND... (2 Replies)
Discussion started by: wisecracker
2 Replies
9. UNIX for Beginners Questions & Answers
My requirement is to run two scripts simultaneously.
Let say, script1.ksh is running in a loop :
example:
script1.ksh is:
for i in 1 2 3
do
script2.ksh 1 &
#psedu code which is required to write here
# if script 2.ksh is running, execute a script3.ksh (which actually check the... (2 Replies)
Discussion started by: sumitc
2 Replies
LEARN ABOUT CENTOS
uri::url
URI::URL(3) User Contributed Perl Documentation URI::URL(3)
NAME
URI::URL - Uniform Resource Locators
SYNOPSIS
$u1 = URI::URL->new($str, $base);
$u2 = $u1->abs;
DESCRIPTION
This module is provided for backwards compatibility with modules that depend on the interface provided by the "URI::URL" class that used to
be distributed with the libwww-perl library.
The following differences exist compared to the "URI" class interface:
o The URI::URL module exports the url() function as an alternate constructor interface.
o The constructor takes an optional $base argument. The "URI::URL" class is a subclass of "URI::WithBase".
o The URI::URL->newlocal class method is the same as URI::file->new_abs.
o URI::URL::strict(1)
o $url->print_on method
o $url->crack method
o $url->full_path: same as ($uri->abs_path || "/")
o $url->netloc: same as $uri->authority
o $url->epath, $url->equery: same as $uri->path, $uri->query
o $url->path and $url->query pass unescaped strings.
o $url->path_components: same as $uri->path_segments (if you don't consider path segment parameters)
o $url->params and $url->eparams methods
o $url->base method. See URI::WithBase.
o $url->abs and $url->rel have an optional $base argument. See URI::WithBase.
o $url->frag: same as $uri->fragment
o $url->keywords: same as $uri->query_keywords
o $url->localpath and friends map to $uri->file.
o $url->address and $url->encoded822addr: same as $uri->to for mailto URI
o $url->groupart method for news URI
o $url->article: same as $uri->message
SEE ALSO
URI, URI::WithBase
COPYRIGHT
Copyright 1998-2000 Gisle Aas.
perl v5.16.3 2012-02-11 URI::URL(3)