当前位置: 技术问答>linux和unix
……………………如何让linux每次启动的时候就自动启动samba服务
来源: 互联网 发布时间:2014-12-12
本文导语: 如何让linux每次启动的时候就自动运行某一程序? | 关于系统启动时自动启动某些自己的应用程序: //Designed by ZhouLifa on April 29, 2002 //If any bug found, please inform me as soon as possible! //Conta...
如何让linux每次启动的时候就自动运行某一程序?
|
关于系统启动时自动启动某些自己的应用程序:
//Designed by ZhouLifa on April 29, 2002
//If any bug found, please inform me as soon as possible!
//Contact info:
//post addr: 广州市天河区华南理工大学计算机研究所 周立发 510640
//Computer Application Research Institution, South China University of Technology
//e-mail: zhoulifa@yahoo.com
//Tel: 020-87113239-9322
//LastModifiedDate:2002.8.4
其实linux启动的主要工作在/etc/rc.d目录下的文件里.
1.首先是rc,它是一段shell,就是启动时做的事都在那里了,比如屏幕上出现Welcome to Red Hat Linux几个字也是它打印出来的,然后在set clock time, set hostname, set IP address,监测硬盘,启动相应的服务等
2.如果你仔细看过就知道了它首先确定启动选项0-6,再进入/etc/rc.d/下相应的目录里,比如单用户模式为/etc/rc.d/rc1.d,我们平常用的Xwindow模式为/etc/rc.d/rc5.d
3.搜索相应目录(这里假设为/etc/rc.d/rc5.d)里的文件,首先找K开头的个文件(这是要被停止的程序),然后一个一个终止相应的进程.再找S开头的文件,这就是启动时要启动的各个程序.比如一般有:
K03rhnsd K12FreeWnn K20rwhod K45named K74apmd K89bcm5820
K05anacron K15gpm K25squid K46radvd K74ntpd K90network
K05atd K15httpd K25sshd K50snmpd K74ypserv K91isdn
K05innd K15postgresql K30sendmail K50tux K74ypxfrd K92ipchains
K05keytable K16rarpd K34yppasswdd K50xinetd K75netfs K92iptables
K10wine K20nfs K35smb K60crond K80random K95kudzu
K10xfs K20rstatd K35vncserver K60lpd K86nfslock S00killall
K12canna K20rusersd K44rawdevices K65identd K87portmap S01reboot
K12cWnn K20rwalld K45arpwatch K72autofs K88syslog
你开机时就会看到:
Starting atd: [ OK ]
Starting wine [ OK ]
Starting cWnn: [ OK ]
Starting sendmail: [ OK ]
等等上面有的东西.
这些文件编号有个规则,就是都是S开头加两位数字,再加要启动的程序的名称.
数字越大就越在最后启动.即
Starting wine [ OK ]
这一行可定在
Starting sendmail: [ OK ]
之前出现.
4.这里的文件都是符号链接,即用ln -s命令建立的,用ls -l /etc/rc.d/rc5.d可以明确地看到他们的相应程序命令所在的位置.
5.如果你安装了某个软件,希望它在系统启动时自动启动,安装程序一般在这里加一个S文件.所以,如果你有一个程序希望它在系统启动是自动运行,你也可以加一个在这里.
比如我要启动的程序是/home/zhou/test/myapp
我在/etc/rc.d/rc5.d目录里用命令ln -s /home/zhou/test/myapp S99myapp建立这个文件S99myapp
重新启动时就可以看到
Starting myapp:
开机后ps -A也可以看到我得程序在运行,当然这个程序是一直运行的,不是马上结束的那种
注意:关键是你要知道你要运行的程序的路径
6.另外,rc文件的最后指明在上述init程序启动完毕后要找/etc/rc.d/rc.local文件,会把rc.local文件里的程序全部运行,但rc.local是个shell文件.
你可以自己在里面加入
echo "Hello, welcome to my home, my name is zhoulifa, My own program run here"
sleep 5
系统启动时你可以看到这句话
对于上述我的程序你可以在rc.local文件里加入:
echo "Starting my own programe myapp now..."
/home/zhou/test/myapp
echo "myapp started OK"
//Designed by ZhouLifa on April 29, 2002
//If any bug found, please inform me as soon as possible!
//Contact info:
//post addr: 广州市天河区华南理工大学计算机研究所 周立发 510640
//Computer Application Research Institution, South China University of Technology
//e-mail: zhoulifa@yahoo.com
//Tel: 020-87113239-9322
//LastModifiedDate:2002.8.4
其实linux启动的主要工作在/etc/rc.d目录下的文件里.
1.首先是rc,它是一段shell,就是启动时做的事都在那里了,比如屏幕上出现Welcome to Red Hat Linux几个字也是它打印出来的,然后在set clock time, set hostname, set IP address,监测硬盘,启动相应的服务等
2.如果你仔细看过就知道了它首先确定启动选项0-6,再进入/etc/rc.d/下相应的目录里,比如单用户模式为/etc/rc.d/rc1.d,我们平常用的Xwindow模式为/etc/rc.d/rc5.d
3.搜索相应目录(这里假设为/etc/rc.d/rc5.d)里的文件,首先找K开头的个文件(这是要被停止的程序),然后一个一个终止相应的进程.再找S开头的文件,这就是启动时要启动的各个程序.比如一般有:
K03rhnsd K12FreeWnn K20rwhod K45named K74apmd K89bcm5820
K05anacron K15gpm K25squid K46radvd K74ntpd K90network
K05atd K15httpd K25sshd K50snmpd K74ypserv K91isdn
K05innd K15postgresql K30sendmail K50tux K74ypxfrd K92ipchains
K05keytable K16rarpd K34yppasswdd K50xinetd K75netfs K92iptables
K10wine K20nfs K35smb K60crond K80random K95kudzu
K10xfs K20rstatd K35vncserver K60lpd K86nfslock S00killall
K12canna K20rusersd K44rawdevices K65identd K87portmap S01reboot
K12cWnn K20rwalld K45arpwatch K72autofs K88syslog
你开机时就会看到:
Starting atd: [ OK ]
Starting wine [ OK ]
Starting cWnn: [ OK ]
Starting sendmail: [ OK ]
等等上面有的东西.
这些文件编号有个规则,就是都是S开头加两位数字,再加要启动的程序的名称.
数字越大就越在最后启动.即
Starting wine [ OK ]
这一行可定在
Starting sendmail: [ OK ]
之前出现.
4.这里的文件都是符号链接,即用ln -s命令建立的,用ls -l /etc/rc.d/rc5.d可以明确地看到他们的相应程序命令所在的位置.
5.如果你安装了某个软件,希望它在系统启动时自动启动,安装程序一般在这里加一个S文件.所以,如果你有一个程序希望它在系统启动是自动运行,你也可以加一个在这里.
比如我要启动的程序是/home/zhou/test/myapp
我在/etc/rc.d/rc5.d目录里用命令ln -s /home/zhou/test/myapp S99myapp建立这个文件S99myapp
重新启动时就可以看到
Starting myapp:
开机后ps -A也可以看到我得程序在运行,当然这个程序是一直运行的,不是马上结束的那种
注意:关键是你要知道你要运行的程序的路径
6.另外,rc文件的最后指明在上述init程序启动完毕后要找/etc/rc.d/rc.local文件,会把rc.local文件里的程序全部运行,但rc.local是个shell文件.
你可以自己在里面加入
echo "Hello, welcome to my home, my name is zhoulifa, My own program run here"
sleep 5
系统启动时你可以看到这句话
对于上述我的程序你可以在rc.local文件里加入:
echo "Starting my own programe myapp now..."
/home/zhou/test/myapp
echo "myapp started OK"