На самом деле это единственный раздел про unix на этом форуме
Модераторы: /dev/random , Модераторы разделов
C10H15N
Сообщения: 277
Статус: \(0_0)/ !!111
Сообщение
C10H15N » 19.12.2009 17:21
Как правильно сделать сабж?Т.е. суть такова- использую вот такой скрипт
Код: Выделить всё
#!/bin/sh
if pidof приложенье | grep [0-9] > /dev/null;then
killall приложенье
else приложенье+команда
fi
exit
По хоткею запускается, если запушенно- убивается.Хочется добавить,чтоб если запущено -запускалось бы второе с другой командой.Если второе безрезультатно- то убивалось бы.Навскидку что-то кривые и сложные варианты проверки мне в голову приходят лишь.
/dev/random
Администратор
Сообщения: 5403
ОС: Gentoo
Сообщение
/dev/random » 19.12.2009 17:49
Код: Выделить всё
if ! pidof блабла >/dev/null; then
блабла
elif ! второеблабла;then
killall блабла
fi
Это если я правильно понял, что вам требуется.
[offtop]
C10H15N писал(а): ↑ 19.12.2009 17:21
Навскидку что-то кривые и сложные варианты проверки мне в голову приходят лишь.
"Йоды магистра речи тайна раскрыта..."
[offtop]
C10H15N
Сообщения: 277
Статус: \(0_0)/ !!111
Сообщение
C10H15N » 19.12.2009 18:23
Неверно поняли меня вы.После третьего запуска скрипта убиений не происходит, надобно чтоб 1й-запуск>1й-экземпляр ,2й-запуск>добавляется второй экземпляр,если 2й -нет,то убивается первый. 3й-запуск > убиваются все.Вобщем затрудняюсь я грамотно буквами сформулировать, поток сознания получается...
Но путь истинный открыли вы, использованье операторов elif и ! -вот потребное решенье, далее разберусь уже сам я.(^_^)
Спасибо.
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Сообщение
sash-kan » 23.01.2010 20:07
если просто работает/не работает:
$ pkill -0 app && echo 'app working' || echo 'app not working'
количество запущенных экземпляров:
$ pgrep app | wc -l