|
在后台运行CS Server
在后台运行有多中方法:
1.用Ctrl+Z bg fg &
先建立运行脚本
$vi cs.sh
#!/bin/sh
./hlds_run -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cfg +ip x.x.x.x -port 27016 -insecure +sv_lan 0 +sv_region 4
给脚本执行权限
$chmod +x cs.sh
运行脚本
$./cs.sh
悬挂进程
Ctrl+Z
把进程放到后台执行
$bg
再切换到前台
$fg
上面也可以直接用& 来把进程放到后台执行
$./cs.sh &
切到前台
$fg
这样可以让我们释放出shell干其他事情,但如果我们退出shell,再次登入时无法调出进程
2.用Screen 多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet ssh登入主机或是使用老式的终端机时,才有可能用到screen程序。
参 数:
-A 将所有的视窗都调整为目前终端机的大小。
-d<作业名称> 将指定的screen作业离线。
-h<行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r<作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S<作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或--list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
建立运行脚本
$vi cs16.sh
#!/bin/sh
echo "Starting Cs16 Server"
sleep 1
screen -A -m -d -S cs16 ./hlds_run -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cfg -port 27016 -insecure +sv_lan 0 +sv_region 4
$chmod +x cs16.sh
$./cs16.sh
察看进程
$ps -eaf
cs 1667 1 0 18:46 ? 00:00:00 SCREEN -A -m -d -S cs16 ./hlds_run -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +
cs 1668 1667 0 18:46 pts/2 00:00:00 /bin/sh ./hlds_run -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile se
cs 1676 1668 21 18:46 pts/2 00:00:01 ./hlds_i686 -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cf
我们要调出这个screen,cs16是上面脚本中对应这个视窗的名字
$screen -r cs16
将这个视窗隐藏(离线)
先Ctrl+a 再Ctrl+d
相对于第一种方法,screen 再重新登录后依然可以使用
其他命令参数参考
$screen --help
现在绝大多数的*nix系统都带有screen程序,如果没有,也不要着急Screen是gnu的开源软件
http://www.gnu.org/software/screen/
可以从这里下载
ftp://ftp.gnu.org/gnu/screen/screen-4.0.2.tar.gz
然后上传到你的server后
或者:
$su
#cd /usr/local
#wget http://ftp.gnu.org/gnu/screen/screen-4.0.2.tar.gz
#tar -xzvf screen-4.0.2.tar.gz
#cd screen-4.0.2
#./configure
#make
#make install |
|