为了能科学地上网,你懂的。其中需要将服务端做成开机启动。然而脚本在secure crt下能正常运行,添加到/etc/rc.local下却无法正常启动服务。用ps查找了下,脚本是运行了,但服务没起来。于是折腾了一通,怀疑是不是路径找不到的原因。然而export了一下PATH,妥妥的。

  原脚本

#! /bin/sh
#进程名字可修改
PRO_NAME=ssserver
PORT=不告诉你
PASS=不告诉你 while true ; do #用ps获取$PRO_NAME进程数量
NUM=`ps aux | grep ${PRO_NAME} | grep -v grep |wc -l`
#echo "ps aux | grep ${PRO_NAME} | grep -v grep |wc -l"
#echo $NUM
#小于1,重启进程
if [ "${NUM}" -lt "" ];then
echo "${PRO_NAME} was killed"
${PRO_NAME} -p ${PORT} -k ${PASS} -m aes--cfb --user nobody -d start
fi
done exit

  修改后的脚本

#! /bin/sh
#进程名字可修改
PRO_NAME=ssserver
PORT=要告诉你吗
PASS=还是不告诉你
export PATH="$PATH" while true ; do #用ps获取$PRO_NAME进程数量
NUM=`ps aux | grep ${PRO_NAME} | grep -v grep |wc -l`
#echo "ps aux | grep ${PRO_NAME} | grep -v grep |wc -l"
#echo $NUM
#小于1,重启进程
if [ "${NUM}" -lt "" ];then
echo "${PRO_NAME} was killed"
${PRO_NAME} -p ${PORT} -k ${PASS} -m aes--cfb --user nobody -d start
fi
done exit

  妥妥的,优雅科学地上网去,墙不再。

linux自定义脚本添加到rc.local脚本无法正常运行的问题的更多相关文章

  1. 理解Linux系统/etc/init.d目录和/etc/rc.local脚本

       一.关于/etc/init.d 如果你使用过Linux系统,那么你一定听说过init.d目录.这个目录到底是干嘛的呢?它归根结底只做了一件事情,但这件事情非同小可,是为整个系统做的,因此它非常重 ...

  2. 基础(二):Linux系统/etc/init.d目录和/etc/rc.local脚本

    原文来自http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/ 译文来自http://blog.csdn. ...

  3. Linux学习之/etc/init.d/目录和rc.local脚本

    init.d目录中包含很多系统服务的启动和停止脚本,比较常用的就是网络服务,当你修改了网络配置时,可以自行 sudo /etc/init.d/networking restart  命令来重启网络服务 ...

  4. /etc/init.d目录和/etc/rc.local脚本

    一.关于/etc/init.d 如果你使用过Linux系统,那么你一定听说过init.d目录.这个目录到底是干嘛的呢?它归根结底只做了一件事情,但这件事情非同小可,是为整个系统做的,因此它非常重要.i ...

  5. 【Linux】centos7 添加脚本到/etc/rc.local文件里,实现开机自启

    Linux 设置开机自启动,添加命令到/etc/rc.d/rc.local,本文以设置tomcat自启动为例: 一:添加自启动命令 export JAVA_HOME=/usr/java/jdk1.8. ...

  6. centos 7.1开机/etc/rc.local脚本不执行的问题

    Centos 7.1中,/etc/rc.local是一个软链接文件.指向的是/etc/rc.d/rc.local 在Centos之前的版本我们都会将一些开机需要执行的命令加入到/etc/rc.loca ...

  7. Linux(CentOS)启动时自动执行脚本(rc.local)

    一.Linux开机启动有多种方法,比如我设置mysql开机启动为:chkconfig --level 35 mysqld on 二.下面说说通过rc.local文件进行开机启动: 1.首先创建一个启动 ...

  8. Linux(CentOS)启动时自动执行脚本(rc.local)

    下面说说通过rc.local文件进行开机启动 1.首先创建一个启动脚本,这里以启动docker为例 创建 docker-startup.sh 脚本 #! /bin/bash /usr/bin/mk-d ...

  9. Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启动程序/服务)

    注意:rc.local脚本里面启动的用户默认为root权限. 一.rc.local脚本 rc.local脚本是一个Ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令.该脚本位于/et ...

随机推荐

  1. Hibernate-Criteria用法

    criteria 英[kraɪˈtɪərɪə] 美[kraɪˈtɪrɪə] Hibernate 设计了 CriteriaSpecification Hibernate 设计了 CriteriaSpec ...

  2. Linux Kernel中获取当前目录方法(undone)

    目录 . 引言 . 基于进程内存镜像信息struct mm_struct获取struct path调用d_path()获取当前进程的"绝对路径" . 基于文件描述符(fd).tas ...

  3. PHP实现Restful风格的API

    Restful是一种设计风格而不是标准,比如一个接口原本是这样的: http://www1.qixoo.com/user/view/id/1表示获取id为1的用户信息,如果使用Restful风格,可以 ...

  4. org.springframework.orm.hibernate3.LocalSessionFactoryBean的疑惑解决办法

    在项目中使用了SSH框架(Struts2 + Spring3+ Hibernate3),applicationContext中配置了sessionFactory <bean id="s ...

  5. POJ 1789Truck History(pirme)

    Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 22648   Accepted: 8781 De ...

  6. Intent和Intent Filter Context

    http://www.android-doc.com/reference/android/content/Intent.html An intent is an abstract descriptio ...

  7. sleep()

    经常看到线程中用sleep(),到底是什么用处,下面讲的比较通俗: 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: ...

  8. yii框架常用url地址

    调用YII框架中 jquery:Yii::app()->clientScript->registerCoreScript('jquery');        framework/web/j ...

  9. 织梦DedeCMS首页调用单页文档内容的方法

    很多使用织梦dedecms单页文档功能的朋友都想知道如何在织梦首页调用单页文档的内容,下面就教大家具体的实现方法: 具体步骤如下: 首先在首页模板需要显示单页文档内容的地方插入如下代码: {dede: ...

  10. Serenity框架官方文档翻译(1-2开始、安装和界面)

    1.开始 最好的和最快速地上手Serenity的方法是使用SERENE,它是一个示例应用程序模板. 您有2个选项来安装SERENE 模板到您的Visual Studio: 从Visual Studio ...