linux-c-programming.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Luciano Moreira - igLnx" <lucianolnx@ig.com.br>
To: linux-c-programming@vger.kernel.org
Subject: Re: Detecting deamons running
Date: Fri, 28 Mar 2003 20:40:34 -0300	[thread overview]
Message-ID: <026301c2f583$6d71a340$0b00a8c0@SPLUCIANO> (raw)
In-Reply-To: 16004.48895.735914.786641@cerise.nosuchdomain.co.uk

EXPLAINING BETTER:

Today we'are writing the PID to a file, and when it is used (later), is
necessary to test de PID with "kill(pid, 0);", but still existing a problem:

When the deamon is droped down with SIGKILL, and the others programs or my
users stay a long time without consulting the deamon's PID, the OS could
raise a new process with the same PID (currently free), that is saved in the
deamon's PID file.

How can this problem be fixed ?  (how is it fixed today ?)

(Somebody suggest us to use shared memory (or SOCKET) mated with another
deamon, that whould be the "PID Server", instead using PID file - We think
that it's bad and so complex, and still can give us a "infinite problem" if
we need to control the new mated deamon)

Luciano Moreira

----- Original Message -----
From: "Glynn Clements" <glynn.clements@virgin.net>
To: <linux-c-programming@vger.kernel.org>
Sent: Friday, March 28, 2003 6:30 PM
Subject: Re: Detecting deamons running


>
> Andrés Roldán wrote:
>
> > > I have a application that run like a deamon, which write in a file its
PID,
> > > that is used to stop it later by others programs. But, I ve noted that
my
> > > users send signal 9 to stop deamons, and my application cannot remove
its
> > > PID file, because it cannot handle singal 9, keeping its PID file at
HD
> > > (FileSystem).
> > >
> > > Can someone sugest me a way to know the deamon's PID, without write it
to a
> > > file ?
> > > OR
> > > How can I do to know if my deamon is running and get its PID ?
> >
> > $ pidof process
> >
> > will return the PID or the PIDs of the specified process. If it returns
> > nothing, there is not such a process running.
>
> pidof will return all PIDs which match a given name, which isn't
> necessarily the same thing as determining the PIDs of specific
> processes.
>
> E.g. if you want to find the PID of the sendmail daemon, you have to
> read /var/run/sendmail.pid; "pidof sendmail" won't make any
> distinction between the daemon and other processes with the name
> "sendmail" (which may not even be running the same "sendmail"
> program).
>
> BTW, root should never use "killall", for similar reasons.
>
> The correct solution is to use a PID file. If a user issues SIGKILL,
> then tough; there are limits to how far you should go toward
> preventing users from shooting themselves in the foot.
>
> Note that the same problem exists for most other inter-process
> communication mechansims, such as FIFOs, Unix domain sockets or SysV
> IPC entities.
>
> --
> Glynn Clements <glynn.clements@virgin.net>
> -
> To unsubscribe from this list: send the line "unsubscribe
linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>


-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2003-03-28 23:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-28 17:20 Detecting deamons running Luciano Moreira - igLnx
2003-03-28 19:45 ` Andrés Roldán
2003-03-28 21:30   ` Glynn Clements
2003-03-28 23:40     ` Luciano Moreira - igLnx [this message]
2003-03-29  0:45       ` Glynn Clements
2003-03-29 16:51         ` Luciano Moreira - igLnx

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='026301c2f583$6d71a340$0b00a8c0@SPLUCIANO' \
    --to=lucianolnx@ig.com.br \
    --cc=linux-c-programming@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).