使linux系统上的程序开机后自动运行 【百科全说】-今日足球竞猜

腾讯视频/爱奇艺/优酷/外卖 充值4折起

linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。
阅读之前建议先看一下附图。
本文中假设inittab中设置的init tree为:
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
/etc/rc.d/init.d
1. 关于linux的启动
init是所有进程之父
init读取/etc/inittab,执行rc.sysinit脚本
(注意文件名是不一定的,有些unix甚至会将语句直接写在inittab中)
rc.sysinit脚本作了很多工作:
init $path
config network
start swap function
set hostname
check root file system, repair if needed
check root space
....
rc.sysinit根据inittab执行rc?.d脚本
linux是多用户系统,getty是多用户与单用户的分水岭
在getty之前运行的是系统脚本
. 关于rc.d
所有启动脚本放置在 /etc/rc.d/init.d下
rc?.d中放置的是init.d中脚本的链接,
命名格式是:
s{number}{name}
k{number}{name}
s开始的文件向脚本传递start参数
k开始的文件向脚本传递stop参数
number决定执行的顺序
3. 启动脚本示例
这是一个用来启动httpd的 /etc/rc.d/init.d/apache 脚本:
代码:
#!/bin/bash
source /etc/sysconfig/rc
source $rc_functions
case "$1" in
start)
echo "starting apache daemon..."
/usr/local/apache2/bin/apachectl -k start
evaluate_retval
;;
stop)
echo "stopping apache daemon..."
/usr/local/apache2/bin/apachectl -k stop
evaluate_retval
;;
restart)
echo "restarting apache daemon..."
/usr/local/apache2/bin/apachectl -k restart
evaluate_retval
;;
status)
statusproc /usr/local/apache2/bin/httpd
;;
*)
echo "usage: $0 {start|stop|restart|status}"
exit 1
;;
esac可以看出他接受start,stop,restart,status参数
然后可以这样建立rc?.d的链接:
代码:
cd /etc/rc.d/init.d &&
ln -sf ../init.d/apache ../rc0.d/k28apache &&
ln -sf ../init.d/apache ../rc1.d/k28apache &&
ln -sf ../init.d/apache ../rc2.d/k28apache &&
ln -sf ../init.d/apache ../rc3.d/s32apache &&
ln -sf ../init.d/apache ../rc4.d/s32apache &&
ln -sf ../init.d/apache ../rc5.d/s32apache &&
ln -sf ../init.d/apache ../rc6.d/k28apache4. 关于rc.local
经常使用的 rc.local 则完全是习惯问题,不是标准。
各个发行版有不同的实现方法,可以这样实现:
代码:
touch /etc/rc.d/rc.local
chmod x /etc/rc.d/rc.local
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc1.d/s999rc.local &&
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc2.d/s999rc.local &&
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc3.d/s999rc.local &&
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc4.d/s999rc.local &&
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc5.d/s999rc.local &&
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc6.d/s999rc.local5. 关于bash启动脚本
/etc/profile
/etc/bashrc
~/.bash_profile
~/.bashrc
是bash的启动脚本
一般用来设置单用户的启动环境,也可以实现开机单用户的程序,但要明确他们都是属于bash范畴而不是系统范畴。
他们的具体作用介绍如下:
/bin/bash这个命令解释程序(后面简称shell)使用了一系列启动文件来建立一个运行环境:
/etc/profile
/etc/bashrc
~/.bash_profile
~/.bashrc
~/.bash_logout
每一个文件都有特殊的功用并对登陆和交互环境有不同的影响。
/etc/profile 和 ~/.bash_profile 是在启动一个交互登陆shell的时候被调用。
/etc/bashrc 和 ~/.bashrc 是在一个交互的非登陆shell启动的时候被调用。
~/.bash_logout 在用户注销登陆的时候被读取
一个交互的登陆shell会在 /bin/login 成功登陆之后运行。一个交互的非登陆shell是通过命令行来运行的,如[prompt] $/bin/bash。一般一个非交互的shell出现在运行shell脚本的时候。之所以叫非交互的shell,是因为它不在命令行上等待输入而只是执行脚本程序。

08/24 11:37
平时安装的软件很多,有时候难免会粗心,在安装的时候没注意,把一些不是很重要的软件在安装的时候设置了“开机后自动运行”这导致了每天电脑开机的时候弹出很多软件。 太烦人了。 那么,针对“软件开机后自动运行”怎么解决呢?相信很多人还不是很清楚吧!西西今天就来教大家怎么去解决这个困扰。 一、软件开机后自动运行,如图: 二、解决方法: 1.打开电脑“开始”菜单,选择运行。 2.在运行中打开“msconfig”后回车 3.在打开的“系统配置实用程序”中选择“启动” 4.勾选你不需要开机启动的选项,点击“全部
11/17 12:38
为什么要有放大镜这个功能?可能年轻一点的用户会大呼不理解,也不会使用到这个功能,但是我们不得不正视一个问题,因为越来越多的老年朋友也开始使用电脑,成为"网民",但是相对来说,他们的视力就不如年轻人这么好了,因此,放大镜对于他们来说就是非常有必要的了!不过如果一般都是年轻人使用的话,大家又觉得ghost win7开机自动运行放大镜功能会造成开机速度的减慢的话,那么下面,小编就来具体介绍一下咱们如何禁止放大镜功能开机自动运行! 1.首先,咱们单击开始菜单,然后找到其中的控制面板,并单击进入
12/18 14:31
multi router traffic grapher------mrtg是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,并将流量负载以包含png格式的图形的html 文档方式显示给用户,以非常直观的形式显示流量负载. snmp(imple network management protocol,简单网络管理协议)的前身是简单网关监控协议(sgmp),用来对通信线路进行管理.随后,人们对sgmp进行了很大的修改,特别是加入了符合internet定义的smi和mib:体
04/22 13:30
今天,小编给大家介绍设置win10系统电脑开机后自动进行宽带连接的方法,希望对大家有所帮助.具体如下:1. 首先,请大家打开电脑,然后右击[此电脑]图标,接着点击[管理]选项.2. 第二步,接下来,我们需要选择[任务计划程序]这一项.3. 第三步,如图所示,请选择屏幕右边的[创建基本任务]选项.4. 第四步,我们需要在方框中输入任务名称,然后选择[下一步]选项.5. 第五步,完成上述步骤后,点击[触发器]一栏中的[计算机启动时],然后选择[下一步].6.第六步,接下来,请大家点击其中的[启动程序
07/26 17:22
当我们在使用winxp系统的时候,在启动电脑以后提示选择“正常启动windows” 或“最后一次正确的配置” 选项,不管我们是选择那一项或者是不操作,那么几秒钟后也会自动重启再次进入xp画面.出现这样的情况是怎么回事呢?这样的问题我们又该怎样去进行解决呢?这里还是让小编来为大家介绍下winxp系统开机后自动重启的解决方法吧! winxp系统开机后自动重启的解决方法如下: 1.在桌面找到”我的电脑“图标. 2.找到后在我的电脑位置右键. 3.右键后在出现的下拉选项我们选择”属性“. 4.选择”属性
06/29 10:34
每次开电脑都必须先点宽带连接再点连接才能上网,很麻烦。所以到网上找了找有什么办法可以让电脑开机后自动连接宽带上网,现在就把方法介绍给大家。 > 在开始搜索框中输入ncpa.cpl,按回车打开网络连接; 打开网络连接 在刚才设立的连接图标上,右击鼠标,选择属性; 打开连接属性 在选项标签中,确认提示名称、密码、凭证等这个选项前没有打勾;然后,点击确定; 取消勾选“提示名称、密码和证书等” 在连接图标上,右击鼠标,选择建立快捷方式; 创建快捷方式 windows会问你是否将快捷方式放在桌面上,
11/21 20:27
win7 32位系统下载之后,很多用在使用一段时间之后也会发现各种各样的问题,不过整体的功能还是比较强大的,对于用户体验还是十分到位的.就像里面的放大镜功能,对于那些视力不好的老年人来说用处很大,可是有的用户不喜欢这个放大镜开机启动,影响了开机速度.那么win7 32位系统怎样把开机放大镜自动运行给取消了?具体的操作步骤如下: 1.第一步就是打开电脑,点击开始菜单里面的控制面板; 2.控制面板设置窗口打开之后,直接单击里面的"轻松访问中心"选项; 3.这时候会出现一个窗口,找到里面的&
03/03 13:36
我们在使用腾讯管家进行下载电脑上的应用时,我们可以看到我们下载的软件会自动进行安装.但是如果我们只是想要下载不想进行安装,接下来小编就教大家怎样关闭下载完成后自动运行安装程序功能.具体如下:1. 首先我们打开电脑进入到桌面,然后找到腾讯管家图标点击打开.接下来我们进入到腾讯管家软件界面之后,我们点击界面中的软件管理按钮.2. 进入到软件管理界面之后,我们可以在左侧的最下方找到下载按钮点击打开.3. 点击下载按钮之后,我们可以在右侧点击弹出来的设置图标.4. 或者我们可以在腾讯管家界面的右上角找到
06/25 22:33
现在大部分电脑都是win10系统,有些用户想知道如何设置程序以管理员身份运行,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步鼠标右键单击需要设置的应用.根据下图箭头所指,小编以[百度网盘]为例.2. 第二步在弹出的菜单栏中,根据下图箭头所指,点击[属性]选项.3. 第三步打开[属性]窗口后,根据下图箭头所指,点击[兼容性]选项.4. 第四步在[兼容性]页面中,根据下图箭头所指,找到并勾选[以管理员身份运行此程序].5. 最后勾选完成,根据下图箭头所指,依次点击[应用-确定]