Титла: bash script за праверяване на процес Публикувано от: sys7em в Aug 08, 2005, 21:55 Трябва ми някъв супер елементарен баш скрипт, който да проверява за някъв процес и ако го няма процеса да прави нещо
примеврно ps -e | grep named ... и ако няма named стартиран да прави нещо помогнете Титла: bash script за праверяване на процес Публикувано от: в 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 за праверяване на процес Публикувано от: в Aug 08, 2005, 22:36 и като скрипт:
Титла: bash script за праверяване на процес Публикувано от: sys7em в Aug 08, 2005, 23:02 ./run_proc.sh
Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information. daemon_check: is not running е това ми дава Титла: bash script за праверяване на процес Публикувано от: Hapkoc в 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 за праверяване на процес Публикувано от: в Aug 09, 2005, 12:43 за [ blabla ] виж например BASH CONDITIONAL EXPRESSIONS.
[ blabla ] става test blabla, като test може да е вградена команда в командния интерпретатор, като bash, иначе си я има и като програма, например /usr/bin/test . Не съм сигурен, че [ израз ] върви на всички командни интерпретатори, докато за test програмата не знам UNIX без нея - дефинирана е в POSIX. Мисля, че влиза и в posix командите за ОС с NT ядро. П.П.: и нали скрипта трябваше да е прост. да не искаш и проверка за валидност на аргументите и да извежда usage и help да има :-) .... и естествено е без капка коментар Титла: bash script за праверяване на процес Публикувано от: Hapkoc в Aug 09, 2005, 13:23 @rpetrov: не разбрах отговора ти към кого е насочен.
Ако към мен, въпроса ми беше не толкова за [] и test (макар, че определено и това ми беше от полза), колкото за израза: "x$VAR" == "x". Поздрави Титла: bash script за праверяване на процес Публикувано от: в Aug 09, 2005, 15:37 отговора накъп за всички :-) за да не пиша много
test "x$VAR" = "x" става, но с едно =, с две == не е портируемо сравни test от bash
и с програмата
Титла: bash script за праверяване на процес Публикувано от: в Aug 09, 2005, 15:39 накЪп ;-) кой като иска да чете
|