1

Добрый день!
Использую Linux FC 10.
Вопрос: Как засунуть содержимое скрипта в screen, если в содержимом скрипта содержится команда "killall screen"?
Содержимое скрипта, запускается вручную:

#!/bin/bash
echo "Killing screens"
pkill screen
echo "Starting update"
cd /usr/local/zarnica/DM
./steam -command update -game 'Counter-Strike Source' -dir . -verify_all
echo "Copying eST files"
rm /usr/local/zarnica/DM/orangebox/bin/libsteam_api.so
rm /usr/local/zarnica/DM/orangebox/cfg/*bin
cp /usr/local/zarnica/eST7/LINUX/INIT/STEAM3/libsteam_api.so /usr/local/zarnica/DM/orangebox/bin
echo "Starting DM server"
cd /usr/local/zarnica/DM/orangebox/
screen -A -m -d -S DM ./srcds_run -console -game cstrike +fps_max 1000 +ip 195.177.119.232 -port 27027 +maxpla
yers 19 +sv_lan 0 +map de_dust2 +exec server.cfg

Т.е. скрипт убивает скрин в котором содержится игровой сервер, потом запускает обновление сервера, потом подменяет кое какие файлы и снова запускает сервер. Вот это дело хочется запустить в скрине, что бы можно было нажать и закрыть сессию.

З.Ы. Убийство сервера по ПИДу не помогает, т.к. скрипт сервера "./srcds_run" содержит модуль перезапуска при збоях, оттого приходится вот так грубо убивать сам скрин. Всем спасибо за помощь!

2

Не понятно что вам хочется сделать...
Графический интерфейс к запуску скрипта?
И для какой программы / игры этот скрипт предназначен?

В Linux вы имеете компьютер.
В Windows компьютер имеет вас!

3

Если я правильно понял, то можно заставить скрипт запуска сервера "./srcds_run" создавать файлик (например в /var/run/) куда бы при запуске записывал свой pid, и килять его по пиду.

4

AndreyMust19,
Поясню, мне нужно что бы этот скрипт при запуске оказался в детаченном скрине. Сервер Counter-Strike: Source.

dwak,
Хммм...попробую покопаться, может и есть у него данная опция. Но опять таки маловероятно что сработает, я убивал его обычным kill, но переключившись в скрин, увидел что он перезапускается, так как считает что сервер упал ab