Nowe posty

Autor Wątek: Sprawdzanie czy proces o podanej nazwie jest uruchomiony  (Przeczytany 6407 razy)

ra-v

  • Gość
Pytanie jak w temacie.

Jak takie coś krócej napisać i prościej w warunku
if [ ! -z "$(pidstat -p ALL | grep pppd)" ]; then
....
fi
Bo zdaje się to jest przekombinowane. Ten warunek uruchamiany jest w skrypcie umieszczonym w cronie więc warto żeby działał szybko.

arctgx

  • Gość
Sprawdzanie czy proces o podanej nazwie jest uruchomiony
« Odpowiedź #1 dnia: 2010-03-18, 18:34:49 »
Nie próbowałeś po prostu if pgrep nazwaprocesu?

Przy okazji, można podobnie używać pkill. Kiedyś zrobiłem sobie skrypcik, który uruchamiany odpala ffmpeg, jeśli nie pracuje lub zabija (wszystkie własne) procesy z ffmpeg w nazwie, jeśli jakikolwiek działa.

#!/bin/bash
teraz ()
{
    date +%F-%H.%M.%S
}
CURRENT_SIZE=$(xrandr | awk '/\\*/ {print $1}' )
SIZE=${1:-$CURRENT_SIZE}
FILE=/tmp/rec-$(teraz).avi
[b]if pkill -u $USER ffmpeg[/b]
then
exit 0
else
ffmpeg -f x11grab -s $SIZE -r 12 -i :0.0 -qscale 3 -an  -y "$FILE"
fi
Przy okazji, skrypt służy do robienia zrzutów ekranu i podpiąłem go pod skrót klawiszowy.

Offline roobal

  • Users
  • Guru
  • *****
  • Wiadomości: 2056
    • Zobacz profil
Sprawdzanie czy proces o podanej nazwie jest uruchomiony
« Odpowiedź #2 dnia: 2010-03-19, 02:57:01 »
Cytat: arctgx
Nie próbowałeś po prostu if pgrep nazwaprocesu?
U mnie działa idealnie :) Przy okazji ja też skorzystałem, bo też szukałem odpowiedzi na to samo pytanie co kolega ra-v i potrzebowałem takiego właśnie rozwiązania :)

Pozdrawiam!

ra-v

  • Gość
Sprawdzanie czy proces o podanej nazwie jest uruchomiony
« Odpowiedź #3 dnia: 2010-03-19, 16:57:41 »
Dzięki pgrep - o to chodzi.