BASH - processes

Sekcia: Programovanie 20.11.2010 | 14:35
Avatar speeder21   Používateľ
Cawte,

mam do skoly nakodit program no zadrhol som sa na par ulohach. Dufam ze mi budete vediet troska pomoct, nakopnut ma popripade vyriesit ich vsetky :))

1) zobrazit procesy, ktorych priorita je vacsia ako zadana
2) zobrazit procesy beziace dlhsie ako dany cas (v sec.)
3) zobrazit procesy, ktorych velkost je vacsia ako zadana (v kB)
4) zobrazenie aktivnych procesov (state R)
5) zobrazenie spiacich procesov (state I a S)
6) zobrazenie zastavenych procesov (state T)

Moje riesenia pre 4-6
4) ps -ax | grep R
5) ps -ax | grep S | grep -v 'grep'
ps -ax | grep I | grep -v 'grep'
6) ps -ax | grep T | grep -v 'grep'

Za kazde male nakopnutie budem velmi velmi vdacny :(:)
    • Re: BASH - processes 20.11.2010 | 14:50
      Avatar Stanislav Hoferek Greenie, Manjaro, Q4OS, Lubuntu  Používateľ
      co je vela, to je moc...
      • Re: BASH - processes 25.11.2010 | 14:34
        bujak   Návštevník
        Neviem co sa vzrusujes od teba nikto nic necaka kedze s tvojimi schopnosami by si zvladol max Hello World
    • Re: BASH - processes 20.11.2010 | 15:01
      Avatar speeder21   Používateľ
      btw viem ze je to jednoduche s awk ale finta je v tom ze ho nemozem pouzit
      • Re: BASH - processes 20.11.2010 | 18:19
        Avatar sivlk   Používateľ
        ak potrebujes napr. 3. stlpec a nemozes pouzit awk '{ print $}', mozes pouzit prikaz cut:
        $ echo a b c | cut -d ' ' -f 2
        b
        

        Alebo dany riadok pomocou sedu rozdelit na viac riadkov a potom pomocou grepu alebo kombinaciou head a tail vybrat riadok ktory potrebujes
        $ echo a b c d e f g h | sed 's/ /\n/g' | head -3 | tail -1
        c
        
        $ echo a b c d e f g h | sed 's/ /\n/g' | grep -n '' | grep ^3
        3:c
        
      • Re: BASH - processes 20.11.2010 | 18:22
        Avatar sivlk   Používateľ
        a ked budes mat uz cislo priority, mozes pouzit test -gt (z cisel 1-10 vypisem cisla vacsie ako 3 a mensie ako 7)
        $ for i in `seq 1 10`; do [ $i -gt 3 ] && [ $i -lt 7 ] && echo $i; done
        4
        5
        6
        
    • Re: BASH - processes 25.11.2010 | 00:40
      l_barbarossa   Návštevník
      skusil by som si viac nastudovat command ps (pripadne dalsie, ktore suvisia so spravou procesov)
      ps -e -o <format code>,comm
      pricom
      ps L
      ti vylistuje format codes

      napr. pre bod 4. (s ktorym by si mal problem, ak by nejaky idle proces name obsahoval R) mozes porovnat:
      ps -e r
      a
      ps -e -o state,comm | grep ^R
      len potom pozor, ze asi nie kazda implementacia ps musi zakonite obsahovat format codes a switches ako ta v tvojom linuxovom distre
      • Re: BASH - processes 25.11.2010 | 00:51
        l_barbarossa   Návštevník
        btw. zrovna pri tychto running processoch mas este na vyber, ci chces zahrnut aj ps medzi running procesy. Ak nie, u mna staci zmazat posledny proces z vypisu- teda 'ps': ps -e -o state,comm | grep ^R|sed '$d'
    • Re: BASH - processes 27.11.2010 | 20:22
      stewe   Návštevník
      nie si z feiky? :D kodis na os-ka? :D
      skus toto
      ja som odtial chvalabohu zdrhol :) mozno ti to pomoze ....

      jaj, a prepis si to do bashu, my sme museli v csh lebo vyucujuci bol fasista :)