LINUX.ORG.RU
ФорумAdmin

bash вопрос


0

0

Такой вопрсос по башу, есть прога binary, выводит много чего в 1 и 2 и иногда просит из 0
поэтому чтоб запустить в режиме демона запускаю её так:
./binary 0</dev/null &>/dev/null
все работает, щас пытаюсь написать скрипт(в баше я ламмер), которы не напрягал меня постоянным вводом команды:
#/bin/bash

DIRBINARY="./BINARY/"
NAMEBINARY="main"
COMANDEMON='./binary 0</dev/null &>/dev/null'

case "$1" in
start-demon)
echo "TRYING start binary in demon mode....."
cd $DIRBINARY
status=`$COMANDEMON`
##echo $status
echo "OK"
`cd ~-`
;;
stop)
echo "TRYING stop bunary"
echo "OK"
;;
esac

запускае, но с 2 (вывод ошибок) все равно едет в консоль(((( почему? а переменная status содержит не код завершения проги, а весь ее вывод, как сделать чтоб содержал код завершения???
да... binary отсоединяется от терминала....

и для кучи
что значит 3 параметра в чекконфиговских файлах?
#!/bin/bash
#
# /etc/rc.d/init.d/acpid
#
# Starts the acpi daemon
#
# chkconfig: 345 44 56
# description: Listen and dispatch ACPI events from the kernel
# processname: acpid
chkconfig: 345 44 56
Т.е старт приорити стоп приорити и найс, а какой их смысл то?

hello_world
() автор топика

> запускае, но с 2 (вывод ошибок) все равно едет в консоль(((( почему?

Потому что ты его не перенаправил в девнуль.
./binary 0</dev/null >/dev/null 2>/dev/null

> а переменная status содержит не код завершения проги, а весь ее вывод,


Что попросил --- то и получил. Не удивляйся.

> как сделать чтоб содержал код завершения???


status=$? --- код возврата предыдущеё команды.

gaa ★★
()
Ответ на: комментарий от hello_world

> Т.е старт приорити стоп приорити и найс, а какой их смысл то?

Это для навороченных программ для старта типа upstart, которые распараллеливают загрузку демонов согласно зависимостям. Если у тебя классический sysvinit, то это игнорируется.

gaa ★★
()

Дык этыть,

(./binary </dev/null >/dev/null 2>&1 & )

или же

nohup binary >output &

(а вообще неплохо бы 2>error.log, конечно, но Вам виднее)

lodin ★★★★
()
Ответ на: комментарий от lodin

> nohup binary >output &

Нохап какбэ немного другие функции выполняет, нежели перенаправление потоков. И он тут не нужен, раз прога отфоркивается от терминала.

gaa ★★
()
Ответ на: комментарий от lodin

а как нить через переменные? чтоб не лазить по всему скрипту, если что-то меняешь?

hello_world
() автор топика
Ответ на: комментарий от hello_world

COMANDEMON='compile'
./$COMANDEMON 0</dev/null &>/dev/null;
как то так))) только что-тол не получается 0</dev/null &>/dev/null забросить в переменную(((

hello_world
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.