linux开机自动运行设置

转载 2010年05月29日 10:41:00

在网上看到有人总结得不错

 

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 :/ect/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。?9 12:00 
2000-11-09 12:00 时候自动发一标题为“Have a lunch”,内容为plan.txt文件内容的邮件给Roger。er

一般可以放在/etc/rc.d/rc.local文件中(rpm系统 用来给用户 自己配置自需的启动项目的,deb的系统 中可以在 /etc/init.d/下自己创建启动项目(RPM的系统 中也可 以)。。。。。。

另外在 Bash和TCshell中的一些启动文件 如下:

/etc/profile 登录时自动执行

~/.bash_profile, ~/.bash_login, ~/.profile 登录时自动执行

~/.bashrc shell 登录时自动执行

~/.bash_logout 退出时自动执行

~/.bash_history 记录最近会话中的命令

/etc/passwd 记录用户资源等信息

~/.cshrc 或 ~/.tcshrc 每个shell启动时自动执行

~/.login 执行完.cshrc或.tcshrc后,又登录shell执行

~/.cshdirs 在tcsh.login后执行

~/.logout 在csh 或tcsh退出时执行

另外,想在开机时自动加载 win分区。可以在/etc/fstab 中加上以下几句:

============= == add start ======================

/dev/hda1 /mnt/c vfat defaults,codepage=936,iocharset=

cp936 0 0

/dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=

cp936 0 0

/dev/hda6 /mnt/e vfat defaults,codepage=936,iocharset=

cp936 0 0

/dev/hda7 /mnt/f vfat defaults,codepage=936,iocharset=

cp936 0 0

/dev/hda8 /mnt/g vfat defaults,codepage=936,iocharset=

cp936 0 0

/dev/hda9 /mnt/h vfat defaults,codepage=936,iocharset=

cp936 0 0

=============== add end =====================

注:“= add start=”“= add end=”是我为了便于理解加上去的。

你们在修改文件的时候,不要加进去。

下面我们讲解添加内容的作用:

/dev/hda? 是Win盘对应的分区号,你可以在“硬件浏览器”中的硬盘信息中找到。

/mnt/? 是Win盘挂载过来后所对应的/mnt下的目录,该目录我们在1.)中已经创建。

vfat 指明挂载的分区是FAT格式的。

defaults 告诉Linux 启动 时自动挂载。

codepa…… 让中文的文件名可以正常显示,否则将显示乱码。

在/etc/rc.d/--有下列目录rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d
init.d
还 有下列文件
rc rc.local rc.sysinit

rcn.d (n为1到6) 是对应于不同的runlevel下起不同的服务. 这些目录下都
是一些符号连接, 连接到init.d下的一些文件.以S开头的表示要启动, 以K开头的不启动.
第一个字母后面的数值是一个优先级, 这个优先级是用chkconfig来维护的. init.d下
的每一个文件 都有类似下面的话:

# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for /
# higher quality random number generation.

看有chkconfig的那一行, 2345表示在runlevel 2 3 4 5下被启动, 20 80 是优先级
20为启动, 80为关闭. 即在rc3.d你可能看到 S20 或 K80. Redhat下的setup也是用
它处理 的. 你可以再参考一下man chkconfig. 有一点注意, 优先即是一个两位数.

RedHat下启动网络一定要启动 network的服务, 该服务会执行
/etc/sysconfig/network, 并用ifup加载所有的/etc/sysconfig/network-script
下定义的网卡. 注意, 在缺省配置中这些定义文件名中不可以有'.' 象ipforward这样的定义
也是在它中完成的. 你可以看看它的源文件. 它还定义了一个重要的变量$NETWORK, 其他的所
有网络服务都通过检查该变量来决定是否启动.

另外的三个文件是这样的

先执行rc.sysinit 完成了包括mount分区 激活swap 加载modules等重要的工作.
再执行 rc.local 完成一些本地的处理, 缺省情况下, 它几乎什么都没作.
最后是执行rc 启动所有的服务.

Linux文件管理类命令详解

本课程为全新马哥linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!
  • 2015年04月14日 15:03

Linux系统中设置开机自动运行的两种方法

有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本。我们要怎样做呢?本文中我们就对此进行讨论。 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu 系统上做到重启或者系...
  • oqqSSH
  • oqqSSH
  • 2017-12-17 14:44:16
  • 486

linux添加开机自启动脚本示例详解

http://blog.chinaunix.net/uid-26000296-id-3986914.html linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的...
  • hshl1214
  • hshl1214
  • 2015-07-28 17:56:02
  • 50270

Linux下如何让自己的程序在开机时自动启动

Linux下如何让自己的程序在开机时自动启动 2011-07-01      0 个评论       收藏    我要投稿 系统的服务在开机时一般都可...
  • jiafu1115
  • jiafu1115
  • 2017-01-20 10:54:47
  • 12975

linux开机自启动的几种方法

Linux开机自启动的几种方式: 第一种方式:在/etc/rc.local文件中加入启动命令 第二种和第三种方式,更适合的应用场景是开发者打包安装包的时候,写入到安装脚本,这样就不用用户手动操作...
  • Aggressive_snail
  • Aggressive_snail
  • 2016-02-06 13:24:47
  • 17834

Linux启动顺序、运行级别及开机启动

一、启动顺序当我们经过BIOS引导,并选择了Linux作为准备引导的操作系统后,接下来的执行顺序如下:1、加载并执行内核第一个被加载的东西就是内核。然后把内核在内存中解压缩,就可以开始运行了。2、/s...
  • soonfly
  • soonfly
  • 2017-06-06 10:59:53
  • 4099

linux 开机自动运行sh脚本

要开机 运行只需将它加入到 rc.local ,一般为/etc/rc.d/rc.local 在其中加入以下行: sh /path/to/test.sh...
  • yfgcq
  • yfgcq
  • 2016-09-21 15:24:24
  • 3872

linux开机自启动程序设置方法

linux如何开机运行自己的程序呢? 搞了几天终于搞定。。。。 1.首先在自己的工程文件里编写自启动shell文件,这是我的例子如下: #!/bin/sh ###BEGIN INIT INFO ...
  • qingtian506
  • qingtian506
  • 2016-11-02 16:16:53
  • 2007

linux 设置开机启动项两种方式

有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务。在解问题之前先来看看Linux的启动流程Linux的启动流程主要顺序就是: 1. 加载内核 2. 启动初始化进程 3. ...
  • karchar
  • karchar
  • 2016-09-12 23:50:14
  • 17050

设置linux开机自动运行脚本

实现目标:在Linux启动时,自动运行位于普通用户test1根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下:      from datetime i...
  • guang11cheng
  • guang11cheng
  • 2012-05-07 21:11:10
  • 5879
收藏助手
不良信息举报
您举报文章: linux开机自动运行设置
举报原因:
原因补充:

(最多只允许输入30个字)