Проверить процесс на существование.

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Cheshirski
рядовой
Сообщения: 18
Зарегистрирован: 2009-09-02 10:13:41
Откуда: Ленинск-Кузнецкий
Контактная информация:

Проверить процесс на существование.

Непрочитанное сообщение Cheshirski » 2010-12-03 14:50:54

Добрый день, стоит задача, проверять один процесс на предмет его существования, набросал такое вот:

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

#!/bin/sh

start=`/usr/local/etc/rc.d/xxx.sh start`
stat=`ps -A | grep -c xxx`
if [$stat -eq 0]
    then
     $start
fi
при запуске в консольке, она (консоль) виснит и только получается, что пока не откроешь еще одну консоль и не убьешь процесс она продолжает висеть, процесс же видется как defunction. А требуется всего. проверить процесс и если он есть, ничего тогда не делать, а если нету его, запустить.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Проверить процесс на существование.

Непрочитанное сообщение Alex Keda » 2010-12-03 14:57:16

man pgrep
Убей их всех! Бог потом рассортирует...


Аватара пользователя
Cheshirski
рядовой
Сообщения: 18
Зарегистрирован: 2009-09-02 10:13:41
Откуда: Ленинск-Кузнецкий
Контактная информация:

Re: Проверить процесс на существование.

Непрочитанное сообщение Cheshirski » 2010-12-04 7:58:06

Спс всем, кто писал про маны, сделал все равно по своему :smile:

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

#!/bin/sh

stat=`ps -A | grep -c xxx`
if [ $stat -eq 1 ]
    then /usr/local/etc/rc.d/xxx.sh restart
fi
Работает терь. Но все равно, большое спасибо, буду знать.

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Проверить процесс на существование.

Непрочитанное сообщение FreeBSP » 2010-12-04 14:59:56

ковычки не те

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

#!/bin/sh

start="/usr/local/etc/rc.d/xxx.sh start" # вот тут двойные или одинарные нужны. разберись почему и что делают разные типы ковычек
stat=`ps -A | grep -c xxx`
if [$stat -eq 0]
    then
     $start
fi
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!