Автор Тема: Амперсанд не работает или работает не привычно  (Прочитано 2265 раз)

Оффлайн Eric

  • Участник
  • *
  • Сообщений: 137
Здравствуйте гуру.
Не знаю в нужный ли раздел обращаюсь, если что перенесите.
Столкнулся с проблемой запуска скриптов в фоне с помощью знака амперсанд "&"

Стояла ось офис сервер 4.0 с апгрейдом до 4.1, версия баша там 3.1.17
Перешел на sisyphus-1.0.2-20100301-server-light версия баша 3.2.48

Стояли на машинке игровые серверы, запускал их обычными баш скриптами, вот один из них:
Цитировать
#!/bin/bash

cd /home/admin/cstrike-02
./hlds_run -game cstrike +sv_lan 0 +map de_dust2 +maxplayers 25 +ip 0.0.0.0 -port 27018 -nomaster -pingboost 2 &

На офис сервере проблем вообще не возникало, запускал прямо нажатием "enter" из MC, либо из консоли ./start.sh
запускалось как надо, в консоль ничего не валило (лог сервера), можно было продолжать работать спокойно и запускать хоть еще 100 серверов - апмперсанд выполнял свою работу по освобождению консоли от "грязи"

На сизифе возникла проблема сразу.... хоть из МС хоть из консоли "./start.sh" хоть "bash ./start.sh &"
в консоль начинали валиться логи сервера, если нажать ctrl+c и проверить процессы то сервер продолжал работать но логи так и валяться, приходиться закрывать консоль и открывать другую...
Очень уж мне это не нравится, подскажите это бага или так и нужно? просто еще не успел проверить на ковчеге и других дистрибутивах линукса.

Вот скриншот консоли, запустил скрипт, нажал ctrl+c, продолжаю работать. На сервере происходит что-то логируемое(зашел игрок) и он мне все в консоль начинает писать и пока не закроешь консоль продожается, собственно выше описал уже.

Жду Ваших ответов и предложений.
З.Ы. да я могу и через SCREEN запускать или еще какие варианты, но хочется с этим разобраться.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 163
    • Домашняя страница
Запускайте через hohup или перенаправляйте вывод в файлы, например:
script 2>/dev/null >&2
Андрей Черепанов (cas@)

Оффлайн Eric

  • Участник
  • *
  • Сообщений: 137
Запускайте через hohup или перенаправляйте вывод в файлы, например:
script 2>/dev/null >&2
спасибо конечно, но что скажете про мой случай? дело в обновлении баша или в чем? хочется знать подробнее

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 163
    • Домашняя страница
Вообще-то это совершенно правильное поведение bash на протяжении многих лет: программа привязывается к терминалу и выводит туда (за исключением nohup).
Вопрос: почему оно так раньше не работало. Хотя подозреваю, что могли поменяться настройки syslog.
Андрей Черепанов (cas@)

Оффлайн Eric

  • Участник
  • *
  • Сообщений: 137
Вообще-то это совершенно правильное поведение bash на протяжении многих лет: программа привязывается к терминалу и выводит туда (за исключением nohup).
Вопрос: почему оно так раньше не работало. Хотя подозреваю, что могли поменяться настройки syslog.
эх ну ладно... значит повезло в старых версиях.

Я выше написал скрипт, что добавить в конце что бы было как раньше ?:) Будьте добры подскажите

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 163
    • Домашняя страница
Я выше написал скрипт, что добавить в конце что бы было как раньше ?:) Будьте добры подскажите
Я писал выше:
2>/dev/null >&2
Андрей Черепанов (cas@)