Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

demonizacija programa

[es] :: Linux/UNIX serveri i servisi :: demonizacija programa

Strane: 1 2

[ Pregleda: 3297 | Odgovora: 26 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stanoje
php+mysql coravljenje
Batajnica

Član broj: 602
Poruke: 56
*.tehnicom.net



Profil

icon demonizacija programa25.07.2001. u 10:45

Interesuje me kako pod Linuxom mogu da ostavim neki program(proces)
da se izvrsava u pozadini. tj startujem ga i izlogujem se a malisa nastavi da
radi bez da bidne ubiven. Cronovi mi ne cine prolece jer proces mora da bude stalno aktivan iza. Moze primer u perlu ili C/C++ ako je to do programiranja stvar ili se moze sistemski nesto uraditi. (Kao ono iz doba dosa - exit and stay resident) i sl.
Pozdrav
Sima Kosmos iz dalekog svemira
25.07.2001. u 10:45 

Vojislav Milunovic
tata i mama me izdržavaju
Beograd, Srbija

Član broj: 25
Poruke: 2117
*.verat.net

Sajt: nonenone.net


Profil

icon Re: demonizacija programa25.07.2001. u 10:53
Stratuj ga samo u pozadini sa : & i to resava problem.Pa se loguj/izloguj koliko oces on ce da sljaka dok ne zavrsi
Oni ostali, ja se raspao...
četničke pesme
get out of ma way you bi***...
Ne čitam pp, ako nekom trebam ima mail : chetnik(na)atlas(tačka)cz
25.07.2001. u 10:53 

m r v a

Član broj: 8
Poruke: 1843
*.eunet.yu



Profil

icon Re: demonizacija programa25.07.2001. u 11:03
hm, predo, ne bih rekao da ce svi programi da nastave da rade ukoliko se konzola zatvori ....
l;(
25.07.2001. u 11:03 

Vojislav Milunovic
tata i mama me izdržavaju
Beograd, Srbija

Član broj: 25
Poruke: 2117
*.verat.net

Sajt: nonenone.net


Profil

icon Re: demonizacija programa25.07.2001. u 11:39
Ako su im stdin/stdout vezani za konzolu onda ce da se zatvore ;o) Zato se uvek za demone ali uvek uradi ovako nesto na pocetku samog koda :

Code:

int i,fd = sysconf(_SC_OPEN_MAX);
for (i=0;i <= fd ; i++)
  close(i);

Pa onda uradis jedan fork() da se odovjis od parenta pa onda setsid() i voila postajes daemon ;o)
Oni ostali, ja se raspao...
četničke pesme
get out of ma way you bi***...
Ne čitam pp, ako nekom trebam ima mail : chetnik(na)atlas(tačka)cz
25.07.2001. u 11:39 

m r v a

Član broj: 8
Poruke: 1843
*.eunet.yu



Profil

icon Re: demonizacija programa25.07.2001. u 13:56
l;)
lepo ...

to je ok kad pises sam svoj program, nego kako naterati neki vec postojeci prog da ostane u bg-u i posle zatvaranja konzole ?
25.07.2001. u 13:56 

Vojislav Milunovic
tata i mama me izdržavaju
Beograd, Srbija

Član broj: 25
Poruke: 2117
*.verat.net

Sajt: nonenone.net


Profil

icon Re: demonizacija programa25.07.2001. u 15:50
pa ako stdin nije vezan za terminal(konzolu) onda slobodno on moze da pici u pozadini.
Oni ostali, ja se raspao...
četničke pesme
get out of ma way you bi***...
Ne čitam pp, ako nekom trebam ima mail : chetnik(na)atlas(tačka)cz
25.07.2001. u 15:50 

stanoje
php+mysql coravljenje
Batajnica

Član broj: 602
Poruke: 56
*.tehnicom.net



Profil

icon Re: demonizacija programa27.07.2001. u 12:53
Citat:
predator je napisao:
Ako su im stdin/stdout vezani za konzolu onda ce da se zatvore ;o) Zato se uvek za demone ali uvek uradi ovako nesto na pocetku samog koda :

Code:

int i,fd = sysconf(_SC_OPEN_MAX);
for (i=0;i <= fd ; i++)
  close(i);

Pa onda uradis jedan fork() da se odovjis od parenta pa onda setsid() i voila postajes daemon ;o)


ok samo mi molim te objasni kako taj rad sa forkom i setsidom jer sam na to
vec natrcavao ali mi bas nije jasno.
moze i ono kako da se otcepim od konzole tj malo detaljnije ako nije problem :)

Sima Kosmos iz dalekog svemira
27.07.2001. u 12:53 

Vojislav Milunovic
tata i mama me izdržavaju
Beograd, Srbija

Član broj: 25
Poruke: 2117
*.verat.net

Sajt: nonenone.net


Profil

icon Re: demonizacija programa27.07.2001. u 13:53
fork() pravi dva procesa od jednog a setsid() sluzi da se proces otcepi od terminala i postavi za vodju grupe procesa (da bude glavni baja).

fork() funkcija znaci od parenta (jednog procesa) napravi parent/children koji rade isto samo su povrante vrednosti od fork() razlicite (u parentu je to pid detea a u deteu je to 0 pa se tako zna koji je koji proces)

Oni ostali, ja se raspao...
četničke pesme
get out of ma way you bi***...
Ne čitam pp, ako nekom trebam ima mail : chetnik(na)atlas(tačka)cz
27.07.2001. u 13:53 

MoHicAn

Član broj: 43
Poruke: 1893
*.yubc.net

ICQ: 19837045


Profil

icon Re: demonizacija programa05.08.2001. u 23:48
Cek
a sto ondak nebi mogao exec() da se koristi ???
posto sa forko() npravis identicni proces itd itd i onda kad se izlogujes parent umire a child je postao samostalan i ostao da radi !!!

e sto nebi tu koristio exec() on automatski ubija parenta i stvara novi samostalni proces !!!
05.08.2001. u 23:48 

random
Vladimir Vrzić
Senior Software Engineer, Vast.com
Stari Cerak

Tehnički konsultant
Član broj: 85
Poruke: 3855
194.106.163.*

Sajt: www.last.fm/user/vrza


Profil

icon Re: demonizacija programa09.08.2001. u 23:50
Rešenje je nohup(1).
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
09.08.2001. u 23:50 

UroS
uros.net inc. Head manager
yu/sr/bgd

Član broj: 3
Poruke: 1953
*.verat.net

ICQ: 44960289
Sajt: www.uros.net


Profil

icon Re: demonizacija programa09.08.2001. u 23:59
najjednostanije je skinuti screen sa www.linux.org

em sto ti ostane u pozadini mozes lepo da se vratis na to i sl.

nego da se cimas sa nekim glupostima...
one-thousand, three-hundred and thirty-seven.
09.08.2001. u 23:59 

random
Vladimir Vrzić
Senior Software Engineer, Vast.com
Stari Cerak

Tehnički konsultant
Član broj: 85
Poruke: 3855
194.106.163.*

Sajt: www.last.fm/user/vrza


Profil

icon Re: demonizacija programa10.08.2001. u 00:00
Mohican: exec() ne stvara novi samostalni proces, ve zamenjuje kontekst pozivajueg procesa novim programom sa diska.

Ajd jo malo da pojasnim ovo sa nohup(1)... Kad startujete bilo koji proces iz shella, njemu je shell roditelj i na neki nain je vezan za njega, u smislu da e prilikom ubijanja shella, sva njegova deca dobiti signal 1 (HUP)... To dolazi tradicionalno od toga to se na stare unix sisteme esto kailo preko serijskog terminala (modem, etc.), pa kad proces izgubi vezu sa kontroliuim tty, to najee znai da se fiziki prekinula veza (hangup). Daklem, ako hoe da ti komanda ostane aktivna i pri izlasku iz ela, kuca

Code:

$ nohup komanda
nohup: appending output to `nohup.out'


Output ne ide na tty, ve po defaultu u fajl nohup.out. Moe se i koristiti redirekcija u proizvoljni fajl. nohup e novostartovani proces uiniti detetom inita, tako da e biti imun na sve to se deava sa shellom iz koga je startovan...
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
10.08.2001. u 00:00 

random
Vladimir Vrzić
Senior Software Engineer, Vast.com
Stari Cerak

Tehnički konsultant
Član broj: 85
Poruke: 3855
194.106.163.*

Sajt: www.last.fm/user/vrza


Profil

icon Re: demonizacija programa10.08.2001. u 00:06
Citat:
UroS je napisao:
najjednostanije je skinuti screen sa www.linux.org

em sto ti ostane u pozadini mozes lepo da se vratis na to i sl.

nego da se cimas sa nekim glupostima...


Nisi u pravu. Screen svakako ima svoje primene, ali niti je jednostavniji za korišćenje, niti je standard, niti je zgodan za korišćenje u xtermu, gde se nohup u principu i najčešće kuca...

Pored toga, homepage screena je, ako se dobro sećam, http://www.gnu.org/software/screen/.

int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
10.08.2001. u 00:06 

random
Vladimir Vrzić
Senior Software Engineer, Vast.com
Stari Cerak

Tehnički konsultant
Član broj: 85
Poruke: 3855
194.106.163.*

Sajt: www.last.fm/user/vrza


Profil

icon Re: demonizacija programa10.08.2001. u 00:07
Pored toga, ovakva primena se ne slaže sa Unix filozofijom, koja kaže da ne treba ubijati komarce topom.
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
10.08.2001. u 00:07 

MoHicAn

Član broj: 43
Poruke: 1893
*.yubc.net

ICQ: 19837045


Profil

icon Re: demonizacija programa19.08.2001. u 17:42
Pa ne nisam se lepo izrazio

mislio sam ovako

znaci ja koristim /bin/bash
iz njega opalim exec program_koji_ocu _da_mi_radi_iz_pozadine
i exec ce da zameni bash tj da ga ubije i zameni tim programom
i on ce ostati da sljaka !!!
19.08.2001. u 17:42 

Vojislav Milunovic
tata i mama me izdržavaju
Beograd, Srbija

Član broj: 25
Poruke: 2117
*.fwi.com

Sajt: nonenone.net


Profil

icon Re: demonizacija programa19.08.2001. u 17:48
Citat:
MoHicAn je napisao:
Cek
a sto ondak nebi mogao exec() da se koristi ???
posto sa forko() npravis identicni proces itd itd i onda kad se izlogujes parent umire a child je postao samostalan i ostao da radi !!!

e sto nebi tu koristio exec() on automatski ubija parenta i stvara novi samostalni proces !!!



Pa exec sluzi da se startuje neki program ali u ovom slucaju ja ne zelim da startujem program vec ocu da moj program radi u pozadini!!!!!
Naim i shell poziva vfork() ili fork() da bi izvrsio neki program...Sad zavisi da li si ti stavio & na kraju shell ce pozvati samo fork() ali ako nema & onda poziva fork() za kojim sledi wait() tj. ceka da dete zavrsi svoj rad.
E sad ja mislim da kad uradis & shell ceka na pojavu SIGCHLD signala ali to nisam siguran

Oni ostali, ja se raspao...
četničke pesme
get out of ma way you bi***...
Ne čitam pp, ako nekom trebam ima mail : chetnik(na)atlas(tačka)cz
19.08.2001. u 17:48 

MoHicAn

Član broj: 43
Poruke: 1893
*.yubc.net

ICQ: 19837045


Profil

icon Re: demonizacija programa19.08.2001. u 19:58
Citat:
predator je napisao:
Citat:
MoHicAn je napisao:
Cek
a sto ondak nebi mogao exec() da se koristi ???
posto sa forko() npravis identicni proces itd itd i onda kad se izlogujes parent umire a child je postao samostalan i ostao da radi !!!

e sto nebi tu koristio exec() on automatski ubija parenta i stvara novi samostalni proces !!!



Pa exec sluzi da se startuje neki program ali u ovom slucaju ja ne zelim da startujem program vec ocu da moj program radi u pozadini!!!!!
Naim i shell poziva vfork() ili fork() da bi izvrsio neki program...Sad zavisi da li si ti stavio & na kraju shell ce pozvati samo fork() ali ako nema & onda poziva fork() za kojim sledi wait() tj. ceka da dete zavrsi svoj rad.
E sad ja mislim da kad uradis & shell ceka na pojavu SIGCHLD signala ali to nisam siguran


Pa chek
rekao si da ako zelis da posaljes proces u pozadinu
pri STARTOVANJU procesa das mu iza & i on ide u pozadinu a onda si dobio pitanje sta ako proces ne moze da se detach-uje od terminala ...

Sa exec ime_programa bi startovao taj progy u pozadini i automatski bi se izlogovao onda se posle opet ulogujes i bole te uvo !!!

napomena ovo nisam probavao tako da ne tvrdim samo pretpostavljam ..
19.08.2001. u 19:58 

Vojislav Milunovic
tata i mama me izdržavaju
Beograd, Srbija

Član broj: 25
Poruke: 2117
*.fwi.com

Sajt: nonenone.net


Profil

icon Re: demonizacija programa19.08.2001. u 23:39
Koliko ja znam procesi koji treba da su vezani za terminal,ako se posalju u pozadinu automatski zavrsavaju svoj rad (bc recimo) ali ovi kojima ne treba terminal mogu slobodno da se posalju u pozdainu (input procesi,znaci oni koji primaju input sa terminala ne mogu da idu u pozadinu dok drugi mogu)
Oni ostali, ja se raspao...
četničke pesme
get out of ma way you bi***...
Ne čitam pp, ako nekom trebam ima mail : chetnik(na)atlas(tačka)cz
19.08.2001. u 23:39 

MoHicAn

Član broj: 43
Poruke: 1893
*.yubc.net

ICQ: 19837045


Profil

icon Re: demonizacija programa20.08.2001. u 00:40
Pa dobro al sa exec ime_programa
odvajas bilo koji program od terminala i posle mos se logoutujes, logujes opet kolko oces itd itd
20.08.2001. u 00:40 

Vojislav Milunovic
tata i mama me izdržavaju
Beograd, Srbija

Član broj: 25
Poruke: 2117
*.fwi.com

Sajt: nonenone.net


Profil

icon Re: demonizacija programa20.08.2001. u 01:11
Ne program ciji input zavisi od terminala ne moze u pozadinu ;o)
probaj bc da bacis u pozadinu i zavrsice se odmah...
Oni ostali, ja se raspao...
četničke pesme
get out of ma way you bi***...
Ne čitam pp, ako nekom trebam ima mail : chetnik(na)atlas(tačka)cz
20.08.2001. u 01:11 

[es] :: Linux/UNIX serveri i servisi :: demonizacija programa

Strane: 1 2

[ Pregleda: 3297 | Odgovora: 26 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.