创建Linux系统服务的方法_linux shell

linux环境:ubuntu

复制代码 代码如下:

#! /bin/sh
# Provides:       server.sh
# Default-Start:  2 3 4 5
# Short-Description: server testing...

EXEC_PATH=/home/huangmin/cdev/project
EXEC=server
PID_FILE=/var/run/server.sh.pid
DAEMON=/home/huangmin/cdev/project/server

if ! [ -x $EXEC_PATH/$EXEC ]; then
  echo "ERROR:$EXEC_PATH/$EXEC not found ..."
  exit 1
fi

stop() {
  echo "Stopping $EXEC ..."
  killall $DAEMON >/dev/null
  rm -f $PID_FILE
  sleep 1
  echo "Shutting down $EXEC: [OK]"
}

start() {
  echo "Starting $EXEC ..."
  $DAEMON >/dev/null
  pidof $EXEC > $PID_FILE
  sleep 1
  echo "Starting $EXEC: [OK]"
}

restart() {
  stop
  start
}

case "$1" in
  start)
    start

  stop)
    stop

  restart)
    restart

  status)
    echo "Status Here"

  *)
    echo "Usage: service $EXEC {start|stop|restart|status}"
    exit 1
esac

exit $?

/home/huangmin/cdev/project/server是我们需要的作为系统服务的程序。
写好脚本之后,将其放置到目录/etc/init.d中,或者做成软链接形式如:sudo ln -s /home/huangmin/cdev/project/bash/server.sh /etc/init.d/servertest.sh
最后利用chkconfig命令将其添加进系统服务: chkconfig –add servertest.sh
可以使用命令service servertest.sh start马上启动该服务程序

时间: 2024-10-21 19:26:25

创建Linux系统服务的方法_linux shell的相关文章

Putty实现自动登陆远程Linux主机的方法_linux shell

由于工作需要,经常要从 Windows 主机访问远程的 Ubuntu 服务器,每次输入账号和老长的密码,感觉很麻烦,于是参考网上的教程简单的设置了一下就能自动登陆远程主机了,非常的方便. 虽然 Putty 也提供了 puttygen.exe 生成公/密钥,但是和 Linux 主机生成的 KEY 格式不同,需要手工修改格式,所以采用 Linux 主机自己生成 KEY 的方式. 首先登陆到 Linux 主机,具体过程如下: 1. 生成公钥和密钥 复制代码 代码如下: verdana@hostname

程序中获取linux系统启动时间方法_linux shell

1.前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同.linux内核里面用一个名为jiffes的常量来计算时间戳.应用层有time.getdaytime等函数.今天需要在应用程序获取系统的启动时间,通过sysinfo中的uptime可以计算出系统的启动时间. 2.sysinfo结构 sysinfo结构保持了系统启动后的信息,主要包括启动到现在的时间,可用内存空间.共享内存空间.进程的数目等.man sysinfo得到结果如下所示: 复制代码 代码如下:  stru

Shell逐行读取文件的4种方法_linux shell

在Linux中有很多方法逐行读取一个文件的方法,其中最常用的就是下面的脚本里的方法,而且是效率最高,使用最多的方法.为了给大家一个直观的感受,我们将通过生成一个大的文件的方式来检验各种方法的执行效率. 方法1:while循环中执行效率最高,最常用的方法. 复制代码 代码如下: function while_read_LINE_bottm(){ While read LINE do echo $LINE done  < $FILENAME } 注释:我习惯把这种方式叫做read釜底抽薪,因为这种方

Shell处理带空格的文件名的方法_linux shell

现在很多人命名的时候都喜欢用空格,例如"An Introduction.doc".但是这种命名方式给Linux命令行工具和Shell带来了困扰,因为大多数命令中,都是默认以空格做为值与值之间的分隔符,而不是做为文件名的一部分. 看下面的脚本,我们可以了解的更清楚: 执行的结果如下: 实际上,当前目录的文件只有两个: 对于简单的文件名,如上例中,我们也可以通过 for i in *doc 这样简单的方法来获得文件列表.但是对于复杂的环境,如下图,我们如何获得这些列表呢? 有一个办法,通过

Shell中创建序列和数组(list、array)的方法_linux shell

关于linux数组定义,以及生成方法,请看:linux shell 动态生成 数组系列 seq使用技巧 .这里我主要说的是高效生成list 字符串,还有数组方法.   一.seq方法生成: [chengmo@centos5 shell]$ aNumList=$(seq 100); [chengmo@centos5 shell]$ echo $aNumList 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

linux bash中too many arguments问题的解决方法_linux shell

判断一个文件的内容是不是为空,使用语句: if test -z `cat filename` 当filename为空或者只有一行没有空格的字符串的时候,一切正常,反之,则会报:too many arguments,甚至是: binary operator expected之类的错误. 参考文章:http://www.ibm.com/developerworks/cn/linux/shell/bash/bash-2/index.html 原因分析:filename中的空格回车等迷惑了bash.如果

linux命令详解之useradd命令使用方法_linux shell

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也可以帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和各自的口令.用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录. 实现用户账号的管理,要完成的工作主要有如下几个方面:用户账号的添加.删除与修改.用户口令的管

linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法_linux shell

要实现linux下采用shell脚本批量为指定文件夹下图片添加水印,首先需要安装imagemagick: CentOS上安装: yum install ImageMagick -y Debian上安装: apt-get install ImageMagick -y 脚本: #!/bin/bash for each in /要处理的图片目录/*{.jpg,.gif} s=`du -k $each | awk '{print $1}'` if [ $s -gt 10 ]; then #convert

Linux更新Python版本及修改python默认版本的方法_linux shell

linux下更新Python版本并修改默认版本,有需要的朋友可以参考下. 很多情况下拿到的服务器python版本很低,需要自己动手更改默认python版本 1.从官网下载python安装包(这个版本可以是任意版本3.3 2.7 2.6等等) wget http://python.org/ftp/python/2.7/Python-2.7.tar.bz2   2.解压并安装 tar -jxvf Python-2.7.tar.bz2 cd Python-3.3.0 ./configure make