linux下创建自启动项 service

导读:本篇文章讲解 linux下创建自启动项 service,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

linux下创建自启动程序有两种方式:来自:http://www.2cto.com/os/201202/121247.html

一,自启动程序方法1:

etc/rc.local在里面加入/home/robin/code/autoruntest > /dev/null &(其中autoruntest 测试程序名称,下同)。即可自启动

二,启动程序方法2:(着重介绍此方法)

创建linux服务,步骤如下:
      1) 写服务启动脚本文件(后附例子)
      2) 修改脚本文件chmod 777 autoruntest
      3) 脚本文件拷贝到/etc/rc.d/init.d/
      4) chkconfig –add autoruntest 添加服务
      5)  重新启动(完成)
      其中到了第三步后就可以使用service启动停止了,要自启动必须使用chkconfig 将服务添加到系统中。

1,使service可以启动/停止:

第一步,编写服务启动脚本yaoservice:

start()  
{  
    echo "start aoe-yaoed"  
    /usr/sbin/yaoed &   #可执行文件路径  
    exit 0;  
}  
stop()  
{  
    echo -n "stop aoe-yaoed"  
    if pkill yaoed  
        then  
        echo  "              [ok]"  
    else  
        echo  "              [failed]"  
    fi  
}  
case "$1" in  
start)  
    start  
    ;;  
stop)  
    stop  
    ;;  
restart)  
    stop  
    start  
    ;;  
*)  
    echo "usage: $0 start|stop|restart"  
    exit 0;  
esac 

第二步,把文件yaoservice拷贝到/etc/init.d/目录下面

第三步,修改yaoservice权限:chmod 755 -R /etc/init.d/yaoservicemod

第四步,执行service testService start,报“env: /etc/init.d/oracle: No such file or directo

                 郁闷了半天,为什么呢?以为脚本有问题,百度后得知:其实是文件格式不对,在window下编辑的文件通常是DOS格式字符,要转换成UNIX格式字符

                 用UltraEdit更改:文件–》另存为–》换行符,选:UNIX 终束符 – LF

                然后再次上传到init.d目录下,并修改权限,哈哈OK了!!(出现问题,将问题百度下还是不错的,当然google也行喽,就是有时会和谐下)

 

注:kill杀进程命令,还有killall、pkill、xkill

kill的应用是和ps 或pgrep 命令结合在一起使用的:

     [root@localhost ~]# ps -e | grep yaoed
      1745 pts/1    00:00:00 yaoed
     [root@localhost ~]# kill 1745

killall 通过程序的名字,直接杀死所有进程,咱们简单说一下就行了
用法:killall 正在运行的程序名
     [root@localhost ~]# pkill yaoed

pkill 和killall 应用方法差不多,也是直接杀死运行中的程序

xkill 是在桌面用的杀死图形界面的程序

 

2,使服务可以开机自动启动

第五步,chkconfig –add yaoservice,报:“service nginx does not support chkconfig“错误

              需要要在脚本里加上如下代码:

              # chkconfig: 2345 08 92
              # description: Automates a packet filtering firewall withipchains.

              注释也是要加上的,不知道为什么,本人对脚本不熟悉,加到start()上面就行了。

             然后在执行一遍就ok了!

第六步,现在重启完机器后仍然不能自动启动,还差最后一步:

            [root@localhost ~]# chkconfig –level 3 yaoservice on  #修改level 3 级别

完成!!重启后程序自动启动了

 

chkconfig命令是设置开机服务自动启动/关闭自动启动命令:

[root@localhost ~]# chkconfig –list     显示开机可以自动启动的服务
[root@localhost ~]# chkconfig –add *** 添加开机自动启动***服务
[root@localhost ~]# chkconfig –del ***   删除开机自动启动***服务
[root@localhost ~]# chkconfig –level ***  设置level 级别 状态

 

/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,都是链接文件,每个链接的名字都是以S或者K开头的,S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。这 样,你就可以知道,如果我要哪个服务随机启动,就把它名字第一个字母K改成S就可以了,当然,把S改成K后,这个服务就不能随机启动了。因此,我这个链接 还要起名为SXXX,这样系统才能让它随机启动。而,chkconfig –level *** 命令正是修改这些链接名开头字母的命令。 

至于为什么要修改level3 ,而修改level 5 不行,还不是很清楚!当然数字越小级别越高,可以肯定的是只修改level5级别是不够的!

参考资料:http://hi.baidu.com/syicriayqxjnpue/item/d4c3d70abb730838f3eafc55

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82057.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!