🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #217

Re: Jak rozpoznac init?

#217
From: Robert Luberda
Date: Fri, 10 Sep 1999 12:22
36 lines
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-mail
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>

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