Проверка количества экземпляров запушенного приложения в скрипте ?

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

C10H15N
Сообщения: 277
Статус: \(0_0)/ !!111

Проверка количества экземпляров запушенного приложения в скрипте ?

Сообщение C10H15N »

Как правильно сделать сабж?Т.е. суть такова- использую вот такой скрипт

Код: Выделить всё

#!/bin/sh
if pidof приложенье | grep [0-9] > /dev/null;then
   killall приложенье
   else приложенье+команда
fi
exit
По хоткею запускается, если запушенно- убивается.Хочется добавить,чтоб если запущено -запускалось бы второе с другой командой.Если второе безрезультатно- то убивалось бы.Навскидку что-то кривые и сложные варианты проверки мне в голову приходят лишь.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5403
ОС: Gentoo

Re: Проверка количества экземпляров запушенного приложения в скрипте ?

Сообщение /dev/random »

Код: Выделить всё

if ! pidof блабла >/dev/null; then
  блабла
elif ! второеблабла;then
  killall блабла
fi

Это если я правильно понял, что вам требуется.


[offtop]
C10H15N писал(а):
19.12.2009 17:21
Навскидку что-то кривые и сложные варианты проверки мне в голову приходят лишь.

"Йоды магистра речи тайна раскрыта..."
[offtop]
Спасибо сказали:
C10H15N
Сообщения: 277
Статус: \(0_0)/ !!111

Re: Проверка количества экземпляров запушенного приложения в скрипте ?

Сообщение C10H15N »

Неверно поняли меня вы.После третьего запуска скрипта убиений не происходит, надобно чтоб 1й-запуск>1й-экземпляр ,2й-запуск>добавляется второй экземпляр,если 2й -нет,то убивается первый. 3й-запуск > убиваются все.Вобщем затрудняюсь я грамотно буквами сформулировать, поток сознания получается...

Но путь истинный открыли вы, использованье операторов elif и ! -вот потребное решенье, далее разберусь уже сам я.(^_^)

Спасибо.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Проверка количества экземпляров запушенного приложения в скрипте ?

Сообщение sash-kan »

если просто работает/не работает:
$ pkill -0 app && echo 'app working' || echo 'app not working'

количество запущенных экземпляров:
$ pgrep app | wc -l
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: