Linux加载后,它将初始化硬件和设备驱动,之后运行第一个进程init。init按照配置
文件继续引导过程,启动其它进程。一般情况下,更改放置在
/etc/rc或
/etc/rc.d或
/etc/rc?.d
目录下的脚本文件,可以使init手动启动其它程序。诸如:编辑
/etc/rc.d/rc.local文件(该文件一般是系统最后启动的脚本),
在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接步入X-Window。
2.登陆时手动运行程序
(1)用户登入时,bash先手动执行系统管理员构建的全局登陆script:
/ect/profile
之后bash在用户起始目录下按次序查找三个特殊文件中的一个:
/.bash_profile、
/.bash_login、
/.profile,
但只执行最先找到的一个。为此,只需依据实际须要在上述文件中加入命令就可以实
现用户登入时手动运行个别程序(类似于DOS下的Autoexec.bat)。
(2)14.04andlater
参考:HowdoIstartapplicationsautomaticallyonlogin?
在Ubuntu14.04版本以后提供了更便捷的autostart文件夹,可以在这个文件夹下设置启动项,设置方式有三种,如下:
方式一:GUI方式
方式二:使用其他程序:UsingMainMenu(alacarte
方式三:NonGUIapproach
Advancedusersmaywanttoputa.desktopfilein~/.config/autostarttorunapplicationsafterauserlogin.Thismayhavefollowingcontent:
[Desktop Entry]
Type=Application
Name=
Exec=
Icon=
Comment=
X-GNOME-Autostart-enabled=true
3.退出登入时手动运行程序
退出登入时,bash手动执行个人的退出登入脚本
/.bash_logout。
比如linux基础教程,在/.bash_logout中加入命令“tar-cvzfc.source.tgz*.c”,则在每次退出
登陆时手动执行“tar”命令备份*.c文件。
4.定期手动运行程序
Linux有一个称为crond的守护程序,主要功能是周期性地检测/var/spool/cron目录
下的一组命令文件的内容,并在设定的时间执行这种文件中的命令。用户可以通过
crontab命令来构建、修改、删除那些命令文件。
比如,构建文件crondFile,内容为“00923Jan*HappyBirthday”,运行“crontab
cronFile”命令后,每每元月23日下午9:00系统手动执行“HappyBirthday”的程序(“*
”表示不管当日是礼拜几)。
5.定时手动运行程序一次
定时执行命令at与crond类似(但它只执行一次):命令在给定的时间执行,但不自
动重复。at命令的通常格式为:at[-ffile]time,在指定的时间执行file文件
中所给出的所有命令。也可直接从鼠标输入命令:
$at12:00
at>mailtoRoger-s″Havealunch″<plan.txt
at>Ctr-D
Job1at2000-11-0912:00
2000-11-0912:00时侯手动发一标题为“Havealunch”,内容为plan.txt文件内容
的电邮给Roger.
ubuntu自添加开机启动程序
ubuntu(我的是9.10)的开机启动会和redhatsuse这种发行版会稍有差异北京linux培训,例如默认情况下没有/etc/inittab的配置文件,redhat发行版在启动级别3上是文本模式登陆,而ubuntu的启动级别2~5都是一样的启动。如今,添加一个自定义的可执行文件或脚本,使其在开机启动时执行。
以一个脚本为例,脚本的内容很简单:
引用
#!/bin/sh
echo"hellostartupscript!">/home/beyes/mystart.txt
exit0
这个脚本的作用只是在我的家目录里构建一个文本文件,上面的内容就是echo后的内容hellostartupscript!。
编辑好这个脚本后,给其赋于相应的可执行文件,为了便捷,就chmod777/etc/init.d/mystart
接着在/etc/rc5.d这个目录下做一个软链接:ln-s/etc/init.d/mystart/etc/rc5.d/S99mystart
这么,这个脚本开机启动生效了么?经过重启后,并没有发觉在/home/beyes目录下生成mystart.txt文件。
使用sysv-rc-conf配置一下启动服务:
上图,在第2运行级别也配置了让mystart启动。这个sysv-rc-conf会读取/etc/init.d里的文件以及rcx.d(x为运行级别)下的软联接等信息。关于更多管理启动项的更多信息见:
配置完后,重启。再到/home/beyes里查看,生成了mystart.txt文件,上面也有相应的内容。从这儿,也见到了ubuntu默认的启动运行级别为2。另外,在/etc/rc2.d目录下,也发觉了由sysv-rc-conf生成的软联接:S99mystart
ubuntu开机手动运行程序
1.编撰shell脚本
gedit/etc/init.d/aa
#!/bin/bash
mplayer/home/aa.avi-fs-vofbdev-vfscale=800:600(fs全屏linux 开机启动应用程序,vo步入桌面前使用linux 开机启动应用程序,scale设置画面大小)
2.chmod755/etc/init.d/aa
3.ubuntu默认启动级别为2加载的脚本在/etc/rc2.d/
ln-s/etc/init.d/aa/etc/rc2.d/s99aa(s为开始执行99为执行次序aa为文件名)
本贴来自天极网群乐社区--
linux启动过程综述
Upstart与ubuntu启动过程,简单原理
Upstart:Ubuntu的基于风波的启动进程