Перейти к содержимому
Калькуляторы

[Linux] проблемы screen для запуска 2х копий сервера hl

Про пляски с бубном вокруг /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 который в поставке идет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

/hlds_l/hlds_run +map crosssfire > /dev/null 2>&1 &

 

а так непойдет? и screen ненужен

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.