zoukankan      html  css  js  c++  java
  • linux程序自启动和新建linux服务的方法

    1 linux创建自启动程序
        自启动的两种方法,都经过自己测试。
    1.1 自启动程序方法1:
        在etc/rc.local在里面加入/home/robin/code/autoruntest > /dev/null &(其中autoruntest 测试程序名称,下同)。即可自启动
    1.2 自启动程序方法2:
        创建linux服务,步骤如下:
    1)        写服务启动脚本文件(后附例子)
    2)        修改脚本文件chmod 777 autoruntest
    3)        脚本文件拷贝到/etc/rc.d/init.d/
    4)        chkconfig --add autoruntest 添加服务
    5)        重新启动(完成)
    其中到了第三步后就可以使用service启动停止了,要自启动必须使用chkconfig 将服务添加到系统中。
    2 linux中的服务
        要定制系统服务必须要以root用户操作。通过ntsysv命令可以看到系统所有的服务,及其是否和系统一起启动,在这里可以定制系统服务,操作界面如下图所示,在这里可以看到测试程序autoruntest已经添加为系统服务了,并且是随着系统运行的。这里可以定制启动的服务,按F1可以看到各个服务的介绍。后附系统服务的介绍。
     

    3 附录
    3.1 服务脚本文件示例
    #!/bin/bash
    #
    # autoruntest  the shell script takes care of autoruntest auto start and stop
    #
    # chkconfig:   2345 20 80
    # description: autoruntest
    # processname:     /etc/rc.d/init.d/autoruntest
     
    EXEC_PATH=/home/robin/code
    EXEC=autoruntest
    PID_FILE=/var/run/autoruntest.pid
    DAEMON=/home/robin/code/autoruntest
     
    # Source function library.
    . /etc/rc.d/init.d/functions
     
    if ! [ -x $EXEC_PATH/$EXEC ] ; then
           echo "ERROR: $EXEC_PATH/$EXEC not found"
           exit 1
    fi
     
    stop()
    {
           echo "Stoping $EXEC ..."
           killall $DAEMON >/dev/null
           usleep 100
           echo "Shutting down $EXEC: [  OK  ]"     
    }
     
    start()
    {
           echo "Starting $EXEC ..."
           $DAEMON > /dev/null &
           usleep 100
           echo "Starting $EXEC: [  OK  ]"        
    }
     
    restart()
    {
           stop
           start
    }
     
     
    case "$1" in
           start)
           start
           ;;
           stop)
           stop
           ;;
           restart)
           restart
           ;;
           status)
           status -p $PID_FILE $DAEMON 
           ;;   
      *)
           echo "Usage: service $EXEC {start|stop|restart|status}"
           exit 1
    esac
     
    exit $?
     
    3.2 系统服务介绍
    1. alsasound :Alsa声卡驱动守护程序。
    2. acpid:acpid(Advanced Configuration and Power Interface)是为替代传统的APM电源管理标准而推出的新型电源管理标准。通常笔记本电脑需要启动电源进行管理。
    3. atalk:AppleTalk网络守护进程。
    4. amd: 自动安装NFS守护进程。
    5. anacron:一个自动化运行任务守护进程。
    6. apmd:apmd(Advanced Power Management)是高级电源管理。
    7. arptables_jf :为arptables网络的用户控制过滤的守护进程。
    8. arpwatch: 记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库。
    9. autofs:自动安装管理进程automount,与NFS相关,依赖于NIS服务器。
    10. bootparamd:引导参数服务器,为LAN上的无盘工作站提供引导所需的相关信息。
    11. bluetooch:蓝牙服务器守护进程。
    12. crond :cron是Unix下的一个传统程序,该程序周期地运行用户调度的任务。比起传统的Unix版本,Linux版本添加了不少属性,而且更安全,配置更简单。类似计划任务。
    13. chargen:使用tcp协议的chargen server,chargen(Character Generator Protocol)是一种网络服务,主要功能是提供类似远程打字的功能。
    14. chargen-udp:使用UDP协议的chargen server。
    15. cpuspeed:监测系统空闲百分比,降低或加快CPU时钟速度和电压从而在系统空闲时将能源消耗降为最小,而在系统繁忙时最大化加快系统执行速度。
    16. dhcpd:动态主机控制协议(Dynamic Host Control Protocol)的服务守护进程。
    17. cups:cups(Common UNIX Printing System)是通用UNIX打印守护进程。
    18. cups-config-daemons:cups打印系统切换守护进程。
    19. cups-lpd:cups行打印守护进程。
    20. daytime:使用TCP 协议的Daytime守护进程,该协议为客户机实现从远程服务器获取日期和时间的功能。预设端口:13。
    21. daytime-udp:使用UDP 协议的Daytime守护进程。
    22. dc_server:使用SSL安全套接字的代理服务器守护进程。
    23. dc_client:使用SSL安全套接字的客户端守护进程。
    24. diskdump:服务器磁盘备份守护进程。
    25. echo:服务器回显客户数据服务守护进程。
    26. echo-udp:使用UDP协议的服务器回显客户数据服务守护进程。
    27. eklogin:接受rlogin会话鉴证和用kerberos5加密的一种服务的守护进程。
    28. gated :网关路由守护进程。它支持各种路由协议,包括RIP版本1和2、DCN HELLO协议、OSPF版本2以及EGP版本2到4。
    29. gpm:gpm(General Purpose Mouse Daemon )守护进程为文本模式下的Linux程序如mc(Midnight Commander)提供了鼠标的支持。
    30. gssftp: 使用kerberos 5认证的ftp守护进程
    31. httpd:Web服务器Apache守护进程。
    32. inetd :因特网操作守护程序。
    33. innd:Usenet新闻服务器守护进程。
    34. iiim:中文输入法服务器守护进程。
    35. iptables:iptables防火墙守护进程。
    36. irda:红外端口守护进程。
    37. isdn:isdn启动和中止服务守护进程。
    38. krb5-telnet:使用kerberos 5认证的telnet守护进程。
    39. klogin:远程登陆守护进程。
    40. keytable:该进程的功能是转载在/etc/sysconfig/keyboards里定义的键盘映射表,该表可以通过kbdconfig工具进行选择。您应该使该程序处于激活状态。
    41. irqbalance:对多个系统处理器环境下的系统中断请求进行负载平衡的守护程序。如果你只安装了一个CPU,就不需要加载这个守护程序。
    42. kshell :kshell守护进程。
    43. kudzu:硬件自动检测程序。
    44. ldap:ldap(Lightweight Directory Access Protocol)目录访问协议服务器守护进程。
    45. lm_seroems:检测主板工作情况守护进程。
    46. lpd :lpd是老式打印守护程序,负责将lpr等程序提交给打印 作业。
    47. mdmonitor:RAID相关设备的守护程序。
    48. messagebus:D-BUS是一个库,为两个或两个以上的应用程序提供一对一的通讯。
    49. microcode_ctl:可编码以及发送新的微代码到内核以更新Intel IA32系列处理器。
    50. mysqld: 一个快速高效可靠的轻型SQL数据库引擎守护进程。
    51. named:DNS(BIND)服务器守护进程。
    52. netplugd:netplugd(network cable hotplug management daemon)守护程序,用于监控一个或多个网络接口的状态,当某些事件触发时运行一个外部脚本程序。
    53. netdump:远程网络备份服务器守护进程。
    54. netfs:Network Filesystem Mounter,该进程安装和卸载NFS、SAMBA和NCP网络文件系统
    55. nfs:网络文件系统守护进程。
    56. nfslock:NFS是一个流行的通过TCP/IP网络共享文件的协议,此守护进程提供了NFS文件锁定功能。
    57. ntpd:Network time Protocol daemon(网络时间校正协议)。ntpd是用来使系统和一个精确的时间源保持时间同步的协议守护进程。
    58. network:激活/关闭启动时的各个网络接口守护进程。
    59. psacct:该守护进程包括几个工具用来监控进程活动的工具,包括ac,lastcomm, accton 和sa。
    60. pcmcia:主要用于支持笔记本电脑接口守护进程。
    61. portmap:该守护进程用来支持RPC连接,RPC被用于NFS以及NIS 等服务。
    62. postgresql: PostgreSQL 关系数据库引擎。
    63. proftpd: proftpd 是Unix下的一个配置灵活的ftp服务器的守护程序。
    64. pppoe:ADSL连接守护进程。
    65. random :保存和恢复系统的高质量随机数生成器,这些随机数是系 统一些随机行为提供的。
    66. rawdevices:在使用集群文件系统时用于加载raw设备的守护进程。
    67. readahead、readahead_early:readahead和readahead_early是在Fedora core 2中最新推出的两个后台运行的守护程序。其作用是在启动系统期间,将启动系统所要用到的文件首先读取到内存中,然后在内存中进行执行,以加快系统的启动速度。
    68. rhnsd:Red Hat 网络服务守护进程。通知官方的安全信息以及为系统打补丁。
    69. routed :该守护程序支持RIP协议的自动IP路由表维护。
    70. rsync:remote sync远程数据备份守护进程。
    71. rsh :远程主机上启动一个shell,并执行用户命令。
    72. rwhod: 允许远程用户获得运行rwho守护程序的机器上所有已登录用户的列表。
    73. rstatd:一个为LAN上的其它机器收集和提供系统信息的守候进程。
    74. ruserd:远程用户定位服务,这是一个基于RPC的服务,它提供关于当前记录到LAN上一个机器日志中的用户信息
    75. rwalld:激活rpc.rwall服务进程,这是一项基于RPC的服务,允许用户给每个注册到LAN机器上的其他终端写消息。
    76. rwhod:激活rwhod服务进程,它支持LAN的rwho和ruptime服务。
    77. saslauthd: 使用SASL的认证守护进程。
    78. sendmail:邮件服务器sendmail守护进程。
    79. smb:Samba文件共享/打印服务守护进程。
    80. snmpd:本地简单网络管理守护进程。
    81. squid:代理服务器squid守护进程。
    82. sshd:OpenSSH服务器守护进程。Secure Shell Protocol可以实现安全地远程管理主机。
    83. smartd:Self Monitor Analysis and Reporting Technology System,监控你的硬盘是否出现故障。
    84. syslog:一个让系统引导时起动syslog和klogd系统日志守候进程的脚本。
    85. time :该守护进程从远程主机获取时间和日期,采用TCP协议。
    86. time-udp: 该守护进程从远程主机获取时间和日期,采用UDP协议。
    87. tux:在Linux内核中运行apache服务器的守护进程。
    88. vsftpd:vsftpd服务器的守护进程。
    89. vncserver:VNC (Virtual Network Computing,虚拟网络计算)。
    90. xfs:X Window字型服务器守护进程,为本地和远程X服务器提供字型集。
    91. xinetd:支持多种网络服务的核心守护进程。
    92. ypbind:为NIS(网络信息系统)客户机激活ypbind服务进程 。
    93. yppasswdd:NIS口令服务器守护进程。
    94. ypserv:NIS主服务器守护进程。
    95. yum:RPM操作系统自动升级和软件包管理守护进程。
     
        可以根据自己的需要觉得是否启动某系服务。如:u、iptables等是必须要运行的。echo、echo-udp、daytime、daytime-udp、chargen、chargen -udp做调试用可以关闭。rsh、rstatd、rsync、rusersd、rwalld这些命令都是Berkley远程命令,因为都以字母r开头,故称r*命令。主要使用来使一台计算机上的某个用户以相同的帐户远程执行另一台计算机的一个程序,不要可以关闭,减少隐患。innd是运行新闻组服务的进程,不要可以关闭。
  • 相关阅读:
    设计模式之构造模式
    设计模式之创建模式
    用mongodb 固定集合实现只保留固定数量的记录,自动淘汰老旧数据
    多线程何如获取返回值
    基于redis的消息订阅与发布
    multiple类型的select option在django后台如何取值
    使用redis分布式锁解决并发线程资源共享问题
    数据库架构
    MongoDB数据库设计中6条重要的经验法则
    【mysql】开启binlog后异常:impossible to write to binary log since BINLOG_FORMAT = STATEMENT
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4211195.html
Copyright © 2011-2022 走看看