4.293 pregleda

Shell wars, episode 5: The new job

4

U prijašnjim nastavcima kroz Hack the shell upoznali smo se sa samom ljuskom, povijesnim razvojem te osnovnim naredbama. Također, upoznali smo kako i zašto je Linux multi-korisnički sustav te smo upoznali razine autorizacije unutar Linux sustava. Vrijeme je da se upoznamo s procesima.

Postoji nekoliko naredbi za kontrolu procesa. To su :

ps – izlistava aktivne procese
kill – šalje signal zatvaranja jednom ili više procesa
jobs – alternativan način izlistavanja korisničkih procesa
bg – stavlja proces u pozadinu
fg – vadi proces iz pozadine

Linux-star-wars

Praktični primjeri

Prije ili kasnije svi korisnici završe u terminalu, bilo svojevoljno bilo igrom slučaja. Čak i oni koji uporno odbijaju koristiti terminal. Kako u slučaju nužde, kad vam osim naredbenog retka ne preostaje ništa drugo, ne bi bili izgubljeni, upoznat ćemo se s nekim osnovnim primjerima kontrole procesa. Većina grafičkih aplikacija, ako ne i sve, se mogu pokrenuti iz konzole. X server dolazi sa zgodnom aplikacijom xload koja iscrtava graf iskorištavanja sustava. Ova aplikacija pokreće se naredbom xload u terminalu. Nakon njenog pokretanja pojavljuje se malen prozor u kojem se počinje iscrtavati graf.

Nakon pokretanja ove aplikacije terminal nas nije stavio u novi redak. Ljuska čeka da se program izvrši prije nego se prebaci u novi redak te tako kontrolu prepusti korisniku. No kako je ovo aplikacija koja radi u realnom vremenu i prati rad na računalu to se neće tako brzo dogoditi. Na sreću, možemo je staviti u pozadinu. To se radi tako da se iza aplikacije (naredbe) doda simbol &.

xload &

Nakon ovakvog pokretanja, ljuska nas stavlja u novi redak, a xload radi u pozadini.
Ako smo zaboravili staviti argument &, aplikaciju možemo pauzirati s Ctrl+Z čime ona prelazi u idle te ju naredbom bg stavljamo u pozadinu. Ako pak sada unesemo naredbu ps, izlistat će nam sve aktivne procese na računalu.

No, zamislite da imate program koji je postao neresponzivan te se pretvorio u zombie proces. Što s njim učiniti? Najbolje ga eliminirati. Ali kako to učiniti? Naredbom kill. Primjerice, Firefox odbija poslušnost te se pretvara u zombie aplikaciju. U tom slučaju otvaramo terminal te u njega upisujemo killall firefox. To će poslati kill signal Firefoxu. Svi njegovi procesi trenutno se prekidaju. Također, možete preko ps naredbe vidjeti i pid procesa te pid broj iskoristiti za eliminaciju zombie procesa, npr kill 1234.

Ovim završavamo naše druženje uz shell hacking, no ne i naše druženje.

Traje razdoblje civilnog rata. Pobunjeničke snage korisnika zadaju žestoke udarce zlom Imperiju.
Napadajući iz skrivene baze, pobunjenička snaga korisnika uspjela je izvojevati svoju prvu pobjedu te hakirati shell. Tijekom borbe, pobunjenici su uspjeli doći do tajnog oružja Imperije te ga ujedno i savladati čime su dobili laganu nadmoć u ratu. No, zli lord Bash se sprema na udarac pobunjenim korisnicima te tako vratiti nadmoć Imperija. Više o njegovim zlim planovima u sljedećem nastavku kad Shell uzvraća udarac.

VN:F [1.9.22_1171]
Rating: 5.0/5 (14 votes cast)
Shell wars, episode 5: The new job, 5.0 out of 5 based on 14 ratings

Povezani članci:

Bash trikovi na bashoneli...
Upoznajte CLI program top
Serijal tekstova: Zajedno...
Fluxbox tutorijal, drugi ...
Predstavljamo vam Program...

4 komentara

  1. b4sh napisao:

    Return of the Jedi) , drago mi je

    LP b4sh

  2. Filip napisao:

    Odličan članak! Svaka čast

  3. trzalica napisao:

    Zanimljivo, poučno, korisno – fenomenalno!! Na ovaj način stvarno nije problem ovladati terminalom.

  4. Dejan napisao:

    Odličan serijal, dobro štivo.

    Imam samo komenar na zombie procese koje spominješ.
    Zombie procesi bi bili oni koji su završili, ali još uvijek
    postoje u process tableu i čekaju da im parent proces pokupi
    exit status. Zombie procese ne možeš ubiti s kill
    naredbom jer su već mrtvi (ništa ne rade, ne troše resurse,
    samo cekaju da im se pokupi exit status).

    Jedan razlog za nasilno micanje zombie procesa je taj da se napravi
    mjesta u proces tablu, ako je broj procesa ograničen. To se može
    napraviti tako da se pošalje SIGCHLD na parent proces (kill -s SIGCHLD ppid)
    ili da se ubije parent process (tad će valjda init proces preuzeti zombiće,
    a on ih čisti u nekim intervalima).

Ostavi komentar

© 2017 Linux Za Sve. | Impressum | Sadržaj je licenciran pod CC-SA-3.0 ako nije drugačije naznačeno.
Proudly designed by Theme Junkie.