Article View: pl.comp.os.linux.programowanie
Article #217Re: Jak rozpoznac init?
From: Robert Luberda
Date: Fri, 10 Sep 1999 12:22
Date: Fri, 10 Sep 1999 12:22
36 lines
1984 bytes
1984 bytes
Daniel Mróz <beorn@cyberdeck.digital.pl> wrote:
>>Czyli:
>>if (getppid()==1 && getenv("INIT_VERSION"))
>> printf("_Najprawdopodobniej_ moim ojcem jest init!");
> A w jakim przypadku moze byc ustawiona ta zmienna lecz proces nie odpalony z
> inita?
Jak ktoś będzie bardzo złośliwy, to może napisać sobie np. taki
programik:
main()
{
setenv("INIT_VERSION", "blablabla", 1);
if (fork()) exit(0);
execl("twoj_program", ....);
}
a wtedy i getppid() == 1, i zmienna INIT_VERSION jest zdefiniowana.
A tak bardziej poważnie, wydaje mi się, że skoro INIT_VERSION jest
zmienną środowiska, czyli jest ona dziedziczona przez procesy potomne,
więc każdy program uruchamiany podczas startu systemu ma tę zmienną
zdefiniowaną (bo te demony są uruchamaine przez shella, który jest
uruchamiany przez init-a), zresztą łatwo to sprawdzić przeglądając
sobie pliki /proc/<pid>/environ, gdzie <pid> jest nr procesu jakiegoś
daemona. Na szczęście daemony te mają zaraz po starcie (a przed forkiem)
ppid != 1, więc wiadomo, że ich ojcem nie jest init.
Pozdrowienia,
Robert
--
robert@pingu.ii.uj.edu.pl
Technical Details
Message-ID:
<7rat65$ofu$1@info.cyf-kr.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!cyfronet!not-for-mailReferences:
<slrn7tdb1r.hr.beorn@cyberdeck.digital.pl> <slrn7te1oa.ti5.kjonca@kjonca.kjonca.bogus> <slrn7tf1ej.h6.beorn@cyberdeck.digital.pl> <7r88uv$6u2$1@info.cyf-kr.edu.pl> <slrn7tggqv.cr.beorn@cyberdeck.digital.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!cyfronet!not-for-mail
From: Robert Luberda <robert@pingu.ii.uj.edu.pl>
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: Jak rozpoznac init?
Date: 10 Sep 1999 12:22:29 GMT
Organization: Inst. of Comp. Sciences, Jagiell. Univ., Cracow
Lines: 37
Message-ID: <7rat65$ofu$1@info.cyf-kr.edu.pl>
References: <slrn7tdb1r.hr.beorn@cyberdeck.digital.pl> <slrn7te1oa.ti5.kjonca@kjonca.kjonca.bogus> <slrn7tf1ej.h6.beorn@cyberdeck.digital.pl> <7r88uv$6u2$1@info.cyf-kr.edu.pl> <slrn7tggqv.cr.beorn@cyberdeck.digital.pl>
NNTP-Posting-Host: pingu.ii.uj.edu.pl
Mime-Version: 1.0
User-Agent: tin/pre-1.4-19990517 ("Psychonaut") (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit