xrt Posted February 26, 2004 Posted February 26, 2004 Про пляски с бубном вокруг /usr/bin/screen Вот потребовалось мне тут запустить 2ве копии half-life сервера, естественно есть стандартное решение, а именно использование screen не долго думая, в директории /hlds_l создаем файл go root@slack# vim далее там пишем #!/bin/sh cd /hlds_l /usr/bin/screen -A -m -d -S cs1 ./hlds_run +map crosssfire далее root@slack# chmod +x ./go прописываем сей скрипт в /etc/rc.d/rc.M даем команду, root@slack# ./go видим, что все работает, по 'ps ax' выдает нужный мне hl процесс и все пучком, далее перегружаемся root@slack# reboot логинимся, и по 'ps' процесса hl нету!!! стали разбираться, и выяснилось вот что.. 1. после залогинивания данный скрипт работает без проблем, не работает только из стартового скрипта. 2. стоит убрать из строки запуска screen ключик -d (deattach) то все работает, даже, будучи запущенным из стартовых скриптов, но только в фореграунде 3. копаем дальше, модернизируем скрипт следующим образом, screen -L -A -m -d -S cs1 ./hlds....... в ручную пускаем, все нормально, создается лог файл с выводом на детаченную консоль, из скрипта автозапуска ничего не создается. 4. модернизируем дальше. screen -L -A -m -d -S cs1 strace ./hlds....... дабы уразуметь хоть какие-либо сообщения об ошибках, вручную легко вываливается дамп отладочной информации из стартового скрипта ничего, отчего делаем вывод, что управление на программу, которую надо запустить, даже не передается. 5.Во всех случаях, даже когда запускается из стартового скрипта, в корне создается папочка .screen в которой пусто, а при запуске вручную в ~ такая же, но с файлами с pidами на запущенные копии screen-а. 6. далее выясняем, что не только hl но и вообще любая программа не запускается через screen если он прописан в стартовых скриптах.. Далее правили в /etc/screenrc все что угодно, на предмет autodetach и пр. Что я не так делаю? зы. linux slackware 9.1 screen который в поставке идет. Вставить ник Quote
f13 Posted February 27, 2004 Posted February 27, 2004 /hlds_l/hlds_run +map crosssfire > /dev/null 2>&1 & а так непойдет? и screen ненужен Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.