[bash] killowanie procesow

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
ramzi
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 04 mar 2017, 12:34
Płeć: Mężczyzna

[bash] killowanie procesow

Post autor: ramzi » 04 mar 2017, 12:42

Witam

jestem poczatkujący i z góry przepraszam za głupie pytania.

Niestety nie udalo mi sie znaleźć rozwiazania mojego problemu, kombinuje i nic.

Otóż chciałbym napisać skrypt który sprawdzi ile jest uruchomionych procesów o danej nazwie i jesli przekorczy ona ilość 9 to ubije procesy.

na razie wiem , że komenda do wylistowania procesów to "ps -ef | grep nazwa_procesu" , żeby ubić jest to "pkill nazwa_procesu".

kombinowalem z pętlami i nic mi nie wychodzi.
podpowiecie mi jak się do tego zabrać ??
to trzeba by wstawić w tablice , czy może jakoś policzyć ilość linii ??

pozdrawiam,
ramzi
Awatar użytkownika
enedil
Terminator
Terminator
Posty: 1306
Rejestracja: 08 wrz 2012, 16:54
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: [bash] killowanie procesow

Post autor: enedil » 04 mar 2017, 13:02

Kod: Zaznacz cały

wc -l
Dobrze jest, psiakrew, a kto powie, że nie, to go w mordę!

~moderatorzy
ramzi
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 04 mar 2017, 12:34
Płeć: Mężczyzna

Re: [bash] killowanie procesow

Post autor: ramzi » 04 mar 2017, 13:33

o super, to juz prawie gotowe, ale dalej mi coś nie idzie :/

Kod: Zaznacz cały

#!/bin/bash
zmienna1= ps -ef|grep vim|wc -l

if [ "$zmienna1" -gt 2]
    then
    echo ' wiecej niz 2'
    else
    echo 'mniej niz 2'
fi
co tu robie nie tak ??
ramzi
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 04 mar 2017, 12:34
Płeć: Mężczyzna

Re: [bash] killowanie procesow

Post autor: ramzi » 04 mar 2017, 13:46

dobra , już wiem, kwestia znaków "

powinno byc tak

Kod: Zaznacz cały

#!/bin/bash
zmienna1= ps -ef|grep vim|wc -l

if [ $zmienna1-gt"2" ]
    then
    echo 'wiecej niz 2'
    else
    echo 'mniej niz 2'
fi

dzięki wielkie za pomoc
ramzi
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 04 mar 2017, 12:34
Płeć: Mężczyzna

Re: [bash] killowanie procesow

Post autor: ramzi » 04 mar 2017, 13:51

eh, chyba jednak musze sie duuuzo nauczyć, bo to ciagle nie dziala mi prawidlo, bo nawet jesli ustawie ze ma byc wiecej niz 4 procesy to nawet jak jest tylko jeden to zwraca ze jest ich wiecej :/
namok
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1678
Rejestracja: 01 mar 2008, 12:21
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: [bash] killowanie procesow

Post autor: namok » 04 mar 2017, 14:03

zmienna1=`ps -ef|grep vim|wc -l`
ramzi
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 04 mar 2017, 12:34
Płeć: Mężczyzna

Re: [bash] killowanie procesow

Post autor: ramzi » 04 mar 2017, 14:13

teraz wywala mi "./skrypt5.sh: line 2: ps -ef|grep vim|wc -l: command not found"

Kod: Zaznacz cały

#!/bin/bash
zmienna1= 'ps -ef|grep vim|wc -l'

if [ $zmienna1 -gt"2" ]
    then
    echo 'wiecej niz 2'
    else
    echo 'mniej niz 2'
fi

namok
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1678
Rejestracja: 01 mar 2008, 12:21
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: [bash] killowanie procesow

Post autor: namok » 04 mar 2017, 14:56

Bo zły znak dałeś.
Moje: zmienna1=`ps -ef|grep vim|wc -l`
Twoje: zmienna1= 'ps -ef|grep vim|wc -l'
ODPOWIEDZ

Wróć do „Programowanie”