下面用自启动apache为例;
自启动脚本:
/usr/local/apache2/bin;
./apachectl start
文件位于/etc/rc.d/init.d下,名为apached, 注意要可执行.
#chmod +x /etc/rc.d/init.d/apached //设置文件的属性为可执行
#ln -s /etc/rc.d/init.d/apached /etc/rc3.d/S90apache //建立软连接,快捷方式
#ln -s /etc/rc.d/init.d/apached /etc/rc0.d/K20apache

在Red Hat Linux中自动运行程序
1.开机启动时自动运行程序
Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 /etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。

2.登录时自动运行程序
用户登录时,bash首先自动执行系统管理员建立的全局登录script :/etc/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、 /.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。

3.退出登录时自动运行程序
退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份 *.c 文件。

4.定期自动运行程序
Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab 命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为"00 9 23 Jan * HappyBirthday",运行"crontab cronFile"命令后,每当元月23日上午9:00系统自动执行"HappyBirthday"的程序("*"表示不管当天是星期几)。

5.定时自动运行程序一次
定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复。at命令的一般格式为:at [ -f file ] time ,在指定的时间执行file文件中所给出的所有命令。也可直接从键盘输入命令:

$ at 12:00
at>mailto Roger -s ″Have a lunch″ < plan.txt
at>Ctr-D
Job 1 at 2000-11-09 12:00

2000-11-09 12:00时候自动发一标题为"Have a lunch",内容为plan.txt文件内容的邮件给Roger。

#!/bin/bash
RESTART="........" #里面写相应服务代码
START="......."
STOP=".........."
case "$1" in
restart)
$RESTART
echo "......"
;;
start)
$START
echo "......"
;;
STOP)
$STOP
echo "......"
;;
*)
echo "Usage: $0 {restart ¦ start ¦ stop}"
exit 1
esac

exit 1

脚本写完要修改一下权限 chmod u+x test.sh

首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写 到一个 文件里让系统能够按顺序执行,类似windows下的autorun.dat文件),另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X windows多用户的运行级别是第5级,也就是rc5.d,在这个文件夹下的脚本文件就是运行第5级时要随机启动的服务程序。需要注意的是,在每个rc (1-6).d文件夹下的文件其实都是/etc/init.d文件夹下的文件的一个软连接(类似windows中的快捷方式),也就是说,在 /etc/init.d文件夹下是全部的服务程序,而每个rc(1-6).d只链接它自己启动需要的相应的服务程序!

要启动scim(某一程序),我们首先要知道scim程序在哪里,用locate命令可以找到,scim在/usr/bin/scim这里,其中usr表 示是 属于用户的,bin在linux里表示可以执行的程序。这样,我就可以编写一个脚本程序,把它放到/etc/init.d里,然后在rc5.d里做一个相 应的软链接就可以了。
这个脚本其实很简单,就两行:

#!/bin/bash
/usr/bin/scim

第一行是声明用什么终端运行这个脚本,第二行就是要运行的命令。

还需要注意的一点是,在rc5.d里,每个链接的名字都是以S或者K开头的,S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。这 样,你就可以知道,如果我要哪个服务随机启动,就把它名字第一个字母K改成S就可以了,当然,把S改成K后,这个服务就不能随机启动了。因此,我这个链接 还要起名为SXXX,这样系统才能让它随机启动。

http://hi.baidu.com/lovehmp/blog/item/cb76ec6ecf2eefde80cb4af6.html

转载于:https://blog.51cto.com/yanwang/373302

在linux下设置开机自动启动程序的方法相关推荐

  1. Linux打开rtf文档,在linux下设置开机自动启动程序的方法_精品.rtf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsplinux/Unix相关 在linux下设置开机自动启动程序的方 ...

  2. Ubuntu添加和设置开机自动启动程序的方法

    Ubuntu添加和设置开机自动启动程序的方法 1.Ubuntu添加开机自动启动程序的方法ubuntu 1. 开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 而后运行第一个进程i ...

  3. linux下添加开机启动程序、脚本、服务

    1 开机启动配置文件 在linux开发中会遇到需要系统开机时运行或者加载自己的程序或者脚本等.linux系统在开机时会自行加载一些配置文件,可以通过修改配置文件方式,实现开机启动自己的程序.服务等.系 ...

  4. Ubuntu添加开机自动启动程序的方法 / 修改 Ubuntu 启动顺序

    1. 开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常情况下,修改放置在 /etc/rc或 /e ...

  5. linux配置ip地址 suse_SUSE Linux下设置IP的两种方法

    第一种SUSE Linux IP设置方法 ifconfig eth0 192.168.1.22 netmask 255.255.255.0 up route add default gw 192.16 ...

  6. linux系统设置开机启动,linux下设置自己的程序开机自启动

    1.开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常情况下,修改放置在 /etc/rc或 /et ...

  7. c#设置开机自动启动程序本篇文章来源于:

    /// <summary>    /// 开机启动项    /// </summary>    /// <param name="Started"&g ...

  8. linux下Tomcat开机自动启动!

    http://blog.sina.com.cn/s/blog_5007d1b101009542.html 本文转自hblxp32151CTO博客,原文链接:http://blog.51cto.com/ ...

  9. linux下oracle开机自启动,Linux下开机自动启动Oracle的设置

    让我手动启动数据库,我决定花点时间研究下Oracle随Linux自动重启的设置,具体方法如下: 因为办公室突然停电,服务器重启后,数据库并没有跟着重启,,我才发现原来所有的数据库都没有设置开机自动重启 ...

  10. linux程序设置开机自动启动/etc/rc.d/rc.local, /etc/profile.d/

    Linux 下设置开机启动的几种方法 1 修改 /etc/rc.d/rc.local 文件 把自启动脚本放在/etc/profile.d/下 为了保证一定能执行,最好再加个赋权操作 chmod +x ...

最新文章

  1. SPSS(|PASW)18 学习笔记(1):入门示例-克山病例
  2. Python MySQLdb模块连接操作mysql数据库实例_python
  3. 用html制作3d相册_运动眼镜原型可以用全彩3D打印来制作啦!
  4. 博客刚刚开通,纪念一下。
  5. Web工程师必备的43款可视化工具
  6. 计算机跨考土壤学,[北京林业大学]2005年土壤学复试办法_跨考网
  7. mysql 日志同步 数据不同步_Mysql互为主从问题--日志同步数据不同步
  8. 解决:fatal: not a git repository (or any of the parent directories): .git的问题
  9. 用PHP编写提供性别的发法,第6节 Laravel-通过模型处理性别
  10. ElasticSearch 全文检索实战
  11. 传统量化与ai量化对比_量化AI偏差的风险
  12. php源码 网页聊天_php即时在线网页聊天源码-响应式设计自适应手机端
  13. 鸿蒙2.0系统刷机包,鸿蒙系统2.0刷机包
  14. 怎么有效提高淘宝店铺的转化率方法步骤
  15. java程序员要学什么?
  16. 计算机辅助英语教学 研究背景,精选:信息时代背景下的英语教学原稿
  17. 5月30日第壹简报,星期一,农历五月初一
  18. 科研实习 | 北京大学万小军老师课题组招收NLP方向实习生和访问学生
  19. 三维地图开发平台-支持离线地图开发
  20. 选项菜单OptionMenu

热门文章

  1. HDU 6706 huntian oy(杜教筛 + 一些定理)题解
  2. MyBatis 简介
  3. Jquery中extend的理解以及常见用法
  4. 色板游戏(洛谷 1558)
  5. 基本的 Python socket 模块
  6. Silverlight WCF RIA服务(十七)数据 7
  7. 人的一生最后悔什么?——曾获各界名流都认同的忠告
  8. R语言初级教程: NA、Inf、NaN、NULL 特殊值
  9. 99.9%的数据分析师,都做不到这些
  10. 米莱迪机器人加物理攻击_游戏中的那些事:米莱迪物理伤害,这个皮肤没见过,蔡文姬一直出错装...