Автор Тема: bash script за праверяване на процес  (Прочетена 3899 пъти)

sys7em

  • Напреднали
  • *****
  • Публикации: 401
    • Профил
    • WWW
Трябва ми някъв супер елементарен баш скрипт, който да проверява за някъв процес и ако го няма процеса да прави нещо
примеврно
ps -e | grep named ...  и ако няма named стартиран да прави нещо

помогнете
Активен

Европейци сме ний, ама все не сме дотам!. . . Прощавай, не е за чудо пак да се срещнем.

  • Гост
bash script за праверяване на процес
« Отговор #1 -: Aug 08, 2005, 22:23 »
test -z "`ps ax | grep named | grep -v 'grep named'`" && logger -s -t daemon_check -p daemon.warn 'named is not running'

Бел.: командата е на един ред.
Активен

  • Гост
bash script за праверяване на процес
« Отговор #2 -: Aug 08, 2005, 22:36 »
и като скрипт:
Примерен код
#!/bin/sh

N=$1
test -z "`ps ax | grep $N | grep -v \"$0\" | grep -v grep`" && logger -s -t daemon_check -p daemon.warn "$N is not running"
Активен

sys7em

  • Напреднали
  • *****
  • Публикации: 401
    • Профил
    • WWW
bash script за праверяване на процес
« Отговор #3 -: Aug 08, 2005, 23:02 »
./run_proc.sh
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
daemon_check:  is not running

е това ми дава
Активен

Европейци сме ний, ама все не сме дотам!. . . Прощавай, не е за чудо пак да се срещнем.

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
bash script за праверяване на процес
« Отговор #4 -: Aug 09, 2005, 10:11 »
Ми пусни го с някакъв параметър - кой процес искаш да търси.

Принципно е по-коректно така:

--------------------------------
#!/bin/sh

N=$1

if [ -z "$N" ]; then
    echo "usage: $0 <pattern>"
    exit 1
fi

test -z "`ps ax | grep $N | grep -v \"$0\" | grep -v grep`" && logger -s -t daemon_check -p daemon.warn "$N is not running"
--------------------------------

А сега като се присетих да питам едно нещо - гледам по разни скриптове, че проверката за празен низ я правят така:

if [ "x$VAR" == "x" ]; then
    ...
fi

С каква цел се прави това, не е ли същото като горното (с -z)?
Активен

  • Гост
bash script за праверяване на процес
« Отговор #5 -: Aug 09, 2005, 12:43 »
за [ blabla ] виж например BASH CONDITIONAL EXPRESSIONS.
[ blabla ] става test blabla, като test може да е вградена команда в командния интерпретатор, като bash, иначе си я има и като програма, например /usr/bin/test . Не съм сигурен, че [ израз ] върви на всички командни интерпретатори, докато за test програмата не знам UNIX без нея - дефинирана е в POSIX. Мисля, че влиза и в posix командите за ОС с NT ядро.



П.П.: и нали скрипта трябваше да е прост. да не искаш и проверка за валидност на аргументите и да извежда usage и help да има :-) .... и естествено е без капка коментар '<img'>
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
bash script за праверяване на процес
« Отговор #6 -: Aug 09, 2005, 13:23 »
@rpetrov: не разбрах отговора ти към кого е насочен. '<img'>

Ако към мен, въпроса ми беше не толкова за [] и test (макар, че определено и това ми беше от полза), колкото за израза: "x$VAR" == "x".

Поздрави '<img'>
Активен

  • Гост
bash script за праверяване на процес
« Отговор #7 -: Aug 09, 2005, 15:37 »
отговора накъп за всички :-) за да не пиша много

test "x$VAR" = "x"
става, но с едно =, с две == не е портируемо

сравни test от bash
Примерен код
$ test "x" == "x" && echo EQ

и с програмата
Примерен код
$ /usr/bin/test "x" == "x" && echo EQ
/usr/bin/test: ==: binary operator expected
Активен

  • Гост
bash script за праверяване на процес
« Отговор #8 -: Aug 09, 2005, 15:39 »
накЪп ;-) кой като иска да чете
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
bash script
Хардуерни и софтуерни проблеми
flame 6 3856 Последна публикация Sep 02, 2004, 12:28
от mimosh
bash script
Общ форум
anger 4 3423 Последна публикация Mar 06, 2005, 20:01
от anger
Помощ за bash script
Хардуерни и софтуерни проблеми
Ivan_storm 4 3358 Последна публикация May 30, 2005, 12:31
от rpetrov
Bash script и извеждането му
Web development
martien 3 3117 Последна публикация Nov 02, 2006, 11:55
от morbid_viper
Bash script за следене съдържанието на директория
Общ форум
mishot 9 4108 Последна публикация Mar 05, 2008, 00:38
от maniac