создал файл для запуска:
start.sh
#!/bin/sh
/home/user/hlds/cssource/./srcds_run -game cstrike -norestart -secure +maxplayers 20 +ip 192.168.0.101 -port 27016 +map 2000
создал скрипт css.service и положил его в /etc/systemd/system$:
css.service
css.service
[Unit]
Description=CS:Source
After=networking.service
After=network.target
[Service]
Type=forking
PIDFile=/home/user/hlds/cssource/css.pid
WorkingDirectory=/home/user/hlds/cssource/
OOMScoreAdjust=-100
ExecStart=/home/user/hlds/cssource/./start.sh
ExecStop=/usr/bin/killall srcds_run
TimeoutSec=60
Restart=always
[Install]
WantedBy=multi-user.target
перечитал конфигурацию systemd:
systemctl daemon-reload
посмотрел статус:
systemctl status css
включил сервис:
systemctl enable css
запустил сервис:
systemctl start css
смотрю еще раз статус, почему-то состояние: Loaded: loaded, activating (start) - это правильно?:
статус службы:
user@SRV-GAME:~$ sudo systemctl status css
● css.service - CS:Source
Loaded: loaded (/etc/systemd/system/css.service; enabled; vendor preset: enabled)
Active: activating (start) since Вт 2016-12-06 11:42:27 MSK; 9s ago
Control: 5282 (start.sh)
Tasks: 3
Memory: 300.0K
CPU: 33ms
CGroup: /system.slice/css.service
├─5282 /bin/sh /home/user/hlds/cssource/./start.sh
├─5284 /bin/sh /home/user/hlds/cssource/./srcds_run -game cstrike -norestart -secure +maxplayers 20 +ip 192.168.0.101 -port 27016 +map 2000
└─5306 sleep 1
дек 06 11:42:27 SRV-GAME systemd[1]: Starting CS:Source...
дек 06 11:42:27 SRV-GAME start.sh[5282]: ************** WARNING ***************
дек 06 11:42:27 SRV-GAME start.sh[5282]: Running the dedicated server as root
дек 06 11:42:27 SRV-GAME start.sh[5282]: is highly discouraged. It is generally
дек 06 11:42:27 SRV-GAME start.sh[5282]: unnecessary to use root privileges to
дек 06 11:42:27 SRV-GAME start.sh[5282]: execute the dedicated server.
дек 06 11:42:27 SRV-GAME start.sh[5282]: **************************************
Warning: css.service changed on disk. Run 'systemctl daemon-reload' to reload units.
через несколько минут, служба падает и рестартится заново.... почему так?
и почему он мне пишет: "Warning: css.service changed on disk. Run 'systemctl daemon-reload' to reload units.", systemctl daemon-reload я выполнял, все нормально проходит.
если запускать просто скрипт start.sh - никаких проблем нет, ничего не падает и все работает отлично, программа не падает.вывод ошибки:
user@SRV-GAME:~$ journalctl -xe
дек 06 11:16:14 SRV-GAME start.sh[4130]: Running the dedicated server as root
дек 06 11:16:14 SRV-GAME start.sh[4130]: is highly discouraged. It is generally
дек 06 11:16:14 SRV-GAME start.sh[4130]: unnecessary to use root privileges to
дек 06 11:16:14 SRV-GAME start.sh[4130]: execute the dedicated server.
дек 06 11:16:14 SRV-GAME start.sh[4130]: **************************************
дек 06 11:16:24 SRV-GAME start.sh[4130]: [499B blob data]
дек 06 11:16:24 SRV-GAME start.sh[4130]: Using default binary: ./srcds_linux
дек 06 11:16:26 SRV-GAME start.sh[4130]: Setting breakpad minidump AppID = 232330
дек 06 11:16:26 SRV-GAME start.sh[4130]: Using breakpad crash handler
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
дек 06 11:16:29 SRV-GAME start.sh[4130]: [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
дек 06 11:16:29 SRV-GAME start.sh[4130]: Setting breakpad minidump AppID = 240
дек 06 11:16:29 SRV-GAME start.sh[4130]: Forcing breakpad minidump interfaces to load
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
дек 06 11:16:29 SRV-GAME start.sh[4130]: Setting breakpad minidump AppID = 232330
дек 06 11:16:29 SRV-GAME start.sh[4130]: Forcing breakpad minidump interfaces to load
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
lines 1214-1256/1256 (END)
дек 06 11:16:14 SRV-GAME start.sh[4130]: Running the dedicated server as root
дек 06 11:16:14 SRV-GAME start.sh[4130]: is highly discouraged. It is generally
дек 06 11:16:14 SRV-GAME start.sh[4130]: unnecessary to use root privileges to
дек 06 11:16:14 SRV-GAME start.sh[4130]: execute the dedicated server.
дек 06 11:16:14 SRV-GAME start.sh[4130]: **************************************
дек 06 11:16:24 SRV-GAME start.sh[4130]: [499B blob data]
дек 06 11:16:24 SRV-GAME start.sh[4130]: Using default binary: ./srcds_linux
дек 06 11:16:26 SRV-GAME start.sh[4130]: Setting breakpad minidump AppID = 232330
дек 06 11:16:26 SRV-GAME start.sh[4130]: Using breakpad crash handler
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
дек 06 11:16:29 SRV-GAME start.sh[4130]: [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
дек 06 11:16:29 SRV-GAME start.sh[4130]: Setting breakpad minidump AppID = 240
дек 06 11:16:29 SRV-GAME start.sh[4130]: Forcing breakpad minidump interfaces to load
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
дек 06 11:16:29 SRV-GAME start.sh[4130]: Setting breakpad minidump AppID = 232330
дек 06 11:16:29 SRV-GAME start.sh[4130]: Forcing breakpad minidump interfaces to load
дек 06 11:16:29 SRV-GAME start.sh[4130]: dlopen failed trying to load:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so
дек 06 11:16:29 SRV-GAME start.sh[4130]: with error:
дек 06 11:16:29 SRV-GAME start.sh[4130]: (null)/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
дек 06 11:16:29 SRV-GAME start.sh[4130]: Looking up breakpad interfaces from steamclient
Пользователь добавил сообщение 07 Декабря 2016, 08:26:07:
вывод команды journalctl -u css
дек 07 08:21:13 SRV-GAME systemd[1]: Starting CS:Source...
дек 07 08:21:13 SRV-GAME srcds_run[7461]: Auto detecting CPU
дек 07 08:21:13 SRV-GAME srcds_run[7461]: Using default binary: ./srcds_linux
дек 07 08:21:13 SRV-GAME srcds_run[7461]: Server will auto-restart if there is a crash.
дек 07 08:21:14 SRV-GAME srcds_run[7461]: Setting breakpad minidump AppID = 232330
дек 07 08:21:14 SRV-GAME srcds_run[7461]: Using breakpad crash handler
дек 07 08:21:17 SRV-GAME srcds_run[7461]: Looking up breakpad interfaces from steamclient
дек 07 08:21:17 SRV-GAME srcds_run[7461]: Calling BreakpadMiniDumpSystemInit
дек 07 08:21:17 SRV-GAME srcds_run[7461]: [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
дек 07 08:21:17 SRV-GAME srcds_run[7461]: Setting breakpad minidump AppID = 240
дек 07 08:21:17 SRV-GAME srcds_run[7461]: Looking up breakpad interfaces from steamclient
дек 07 08:21:17 SRV-GAME srcds_run[7461]: Calling BreakpadMiniDumpSystemInit
дек 07 08:21:17 SRV-GAME srcds_run[7461]: Setting breakpad minidump AppID = 232330
дек 07 08:22:44 SRV-GAME systemd[1]: css.service: Start operation timed out. Terminating.
дек 07 08:22:44 SRV-GAME systemd[1]: Failed to start CS:Source.
дек 07 08:22:44 SRV-GAME systemd[1]: css.service: Unit entered failed state.
дек 07 08:22:44 SRV-GAME systemd[1]: css.service: Failed with result 'timeout'.
Пользователь добавил сообщение 07 Декабря 2016, 09:23:51:
нашел проблему......
оказывается Type=simple, а не Type=forking, т.к. systemd завершает первоначальный процесс (как раз падает в этот момент сервак игровой) и подразумевается, что процесс уже начал разветвляться!!!
статус службы теперь: Active:
active (running)
Пользователь добавил сообщение 07 Декабря 2016, 09:26:41:
помогите с вопросом:
при запуске я указываю PIDfile, а он должен кем создаваться? и как этот механизм работает?
если я в start.sh не указываю параметр -pidfile, то он там не создается, а если указываю, то он создается и удаляется после завершения службы.... каким образом осуществляется процесс контроля над службой? пробовал удалять этот pid файл и ничего не произошло.