linux-c-programming.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ENC: Re: Check if a process exists? (EXTENDING THE QUESTION)
@ 2005-04-09 13:54 lucianolnx
  0 siblings, 0 replies; only message in thread
From: lucianolnx @ 2005-04-09 13:54 UTC (permalink / raw)
  To: linux-c-programming

[-- Attachment #1: Mail message body --]
[-- Type: text/plain, Size: 2790 bytes --]

LEAVE ME TO REVIEW THE PROBLEM: 
1) How is the best and more OS resources indenpendent way to know the PID of 
a "friend" searched process ? 

2)How is the best way to check process identity, instead of only check your 
running state (kill -0) ? 

MY COMMENTS: 
I know that "/proc" is optional, because it I m asking for some ways to 
locate the PID when it isn't known, using non-optional OS resources. 

Shared memory or some kind of pipes, was a good way ? (the main problem is 
about persistent files that isn't the good way to store it, because the 
process can be killed without chance to remove its PID file, and then we can 
have a inconsistent PID file). 

Does parse "ps -e" command or using some API to simulate "ps" was a good way 
? 

AFTER KNOWING THE PID: 
Does someone kown a special way to know or authenticate the process (like a 
digital signature) instead only cheacking its running state by "kill -0". 

Luciano 


------------------------------------------------------------ 
De: "M.Baris Demiray" <baris@labristeknoloji.com> 
Para: lucianolnx<lucianolnx@ig.com.br> 
Data: Sat, 09 Apr 2005 10:24:55 +0300 
Assunto: ENC: Re: Check if a process exists? (EXTENDING THE QUESTION) 
Cc: linux-c-programming@vger.kernel.org 

lucianolnx wrote: 
> Today, what are the bests ways to know if a deamon is running without 
> knowing its PID ? 

I'm not sure whether this is `the best way' but you can parse some proc 
file system entry. Especially /proc/$pid/cmdline and /proc/$pid/status 
will be useful. And you will have to search all the /proc/$pid entries 
since you don't know the pid.. 

For example, they provide following information for clamd. 

[baris@rhinox]$ ps aux|grep clamd 
clamav     424  0.0  3.1  11520  7856 ?        Ss   01:35   0:03 
/usr/sbin/clamd 
clamav    1184  0.0  3.1  11520  7856 ?        S    09:38   0:00 
/usr/sbin/clamd 
baris     1238  0.0  0.2   1688   712 pts/2    S+   09:58   0:00 grep clamd 
[baris@rhinox]$ cat /proc/1184/cmdline 
/usr/sbin/clamd 
[baris@rhinox]$ cat /proc/1184/status 
Name:   clamd 
State:  S (sleeping) 
Tgid:   1184 
Pid:    1184 
PPid:   424 
.... 
.... 

I also should add that /proc filesystem is _optional_ in configuration. 
Highly likely it will exist on a target system but a little possibility 
of being it unselected still there. 

> My old technique (used until now), is based on recovering the PID saved by 
> the own process in a special and known location (like a file), almost all 
> times persisted (PERSISTENCE IS A PROBLEM). 
> 
> Luciano 

-- 
"You have to understand, most of these people are not ready to be 
unplugged. And many of them are no inert, so hopelessly dependent 
on the system, that they will fight to protect it." 
                                                         Morpheus 

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Arquivo anexado pelo iGmail --]
[-- Type: text/x-vcalendar; name="baris.vcf", Size: 342 bytes --]

begin:vcard
fn:M.Baris Demiray
n:Demiray;M.Baris
org:Labris Teknoloji
adr:ODTU;;Teknokent Silikon Blok No:24;Ankara;;06531;Turkiye
email;internet:baris@labristeknoloji.com
title:Yazilim Gelistirme Uzmani
tel;work:+903122101490
tel;fax:+903122101492
x-mozilla-html:FALSE
url:http://www.labristeknoloji.com
version:2.1
end:vcard


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-04-09 13:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-09 13:54 ENC: Re: Check if a process exists? (EXTENDING THE QUESTION) lucianolnx

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).