goagent这个开源软件相当给力,平时访问youtube与facebook得靠它了。为了方便使用goagent,我将goagent配置为ubuntu系统服务,只要一开机进入桌面就随时使用它访问被墙的网站。
第二步,以root用户权限在/etc/init.d下创建新脚本,命名为goagent,并且配置可执行权限:sudo touch /etc/init.d/goagent sudo chmod +x /etc/init.d/goagent ;
第三步,编辑/etc/init.d/goagent文件,录入下面脚本内容:
#! /bin/sh第四步,配置goagent服务: sudo update-rc.d goagent defaults 99 ; 在这里我将goagent配置为开机启动!
### BEGIN INIT INFO
# Provides: goagent
# Required-Start: $remote_fs $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: # Short-Description: goagent daemon
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
NAME=goagent
DAEMON=/opt/goagent-2.1.11/local/proxy.py
PIDFILE=/var/run/$NAME.pid
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start()
{
if [ -f $PIDFILE ]; then
start-stop-daemon --pidfile $PIDFILE --status
case "$?" in
0)
echo "$NAME is running !"
return 0
;;
1|3)
#nothing to do
;;
*)
echo "unable to determine status !"
return 1
;;
esac
fi
echo "starting $NAME ..."
start-stop-daemon --start --quiet --background --oknodo --exec $DAEMON --make-pidfile --pidfile $PIDFILE
echo 'done.'
return 0
}
do_stop()
{
echo "stopping $NAME ..."
if [ -f $PIDFILE ]; then
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
rm -f $PIDFILE
fi
echo 'done.'
}
do_status()
{
start-stop-daemon --pidfile $PIDFILE --status
case "$?" in
0)
echo "$NAME is running!"
;;
1|3)
echo "$NAME is not running!"
;;
*)
echo "unable to determine status!"
;;
esac
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
status)
do_status
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
注意: 这里服务级别最好设置成99,别用默认的级别,默认级别为S20,这个级别优先于S50,网络还没有启动,服务会启动失败,等于开机启动无效 了!
最后一步是测试:
启动服务 sudo service goagent start ;
输出 starting goagent ... done.
查看服务状态 sudo service goagent status
输出 goagent is running !
停止服务 sudo service goagent stop ;
输出 stopping goagent ... done.
查看服务状态 sudo service goagent status
输出 goagent is not running !
附上删除服务的方法:sudo update-rc.d -f goagent remove && sudo rm /etc/init.d/goagent .
为了验证一下,可以运行#sysv-rc-conf
阅读全文