当前位置:  技术问答>linux和unix

急!!!!如何自动加载模块(在线等待)

    来源: 互联网  发布时间:2014-12-26

    本文导语:  我的网卡每次都需要在进入系统后手动加载。 insmod *.o netconf 如何将以上的工作改为自动完成呢? | 关于系统启动时自动启动某些自己的应用程序: //Designed by ZhouLifa //If any bug found, please i...

我的网卡每次都需要在进入系统后手动加载。
insmod *.o
netconf
如何将以上的工作改为自动完成呢?

|
关于系统启动时自动启动某些自己的应用程序:
//Designed by ZhouLifa
//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       K30sendmail   K74ypserv    S17keytable    S90cWnn
K05innd        K34yppasswdd  K74ypxfrd    S20random      S90FreeWnn
K15postgresql  K35vncserver  K89bcm5820   S25netfs       S90xfs
K16rarpd       K45arpwatch   K91isdn      S26apmd        S91smb
K20nfs         K45named      K92ipchains  S28autofs      S95anacron
K20rstatd      K46radvd      K92iptables  S56rawdevices  S95atd
K20rusersd     K50snmpd      S05kudzu     S56xinetd      S99local
K20rwalld      K50tux        S10network   S85gpm         S99wine
K20rwhod       K60lpd        S12syslog    S85httpd
K25squid       K65identd     S13portmap   S90canna
K25sshd        K74ntpd       S14nfslock   S90crond                             
你开机时就会看到:
Starting syslog:      [ OK ]
Starting sendmail:   [ OK ]
Starting cWnn:       [ OK ]
Starting wine        [ 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"
7.需要强调的一点是:如果你的程序本来不是用root身份运行的,那么在启动时可能就不能运行,因为你的环境变量不是符合的。
解决问题的办法就是:1、先在你的程序的开头就用setenv()函数来设定一些环境变量;2、在rc.local里用sudo username command去运行你这个程序。
***********************
我刚做过试验,先写这样一个含有启动oracle所需的命令的文件OraScript:
[test@LinuxServer00 bin]$ cat OraScript
connect internal
startup
quit
再写这样一个运行上述命令的文件StartOracle,主要作用就是设置变量,最后一行启动svrmgrl
[test@LinuxServer00 bin]$ cat StartOracle
export USERNAME="oracle"
export HOME=/home/oracle
export PATH=$PATH:$HOME/bin
export BASH_ENV=$HOME/.bashrc
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export ORACLE_SID=mydb
export CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$PATH:$ORACLE_HOME:$ORACLE_HOME/bin:$ORACLE_HOME/dbs:./
export USERNAME BASH_ENV PATH
/oracle/product/8.1.7/bin/svrmgrl 

    
 
 

您可能感兴趣的文章:

  • 使用非root用户加载模块出错
  • 为何每次重启都要重新加载驱动模块?
  • 驱动模块断电重加载问题
  • 升级内核之后,模块加载问题
  • 怎样让模块加载之后自动执行里面的函数
  • 模块加载框架 SeaJS
  • 请教linux中如何自动加载自己的模块 iis7站长之家
  • linux2.6内核 如何自动加载当前所需要的模块
  • 在linux操作系统中,如何实现可加载的模块是否被卸载的检测
  • 服务端的模块加载器 StyleCombine
  • JavaScript模块加载器 GoJS
  • 怎么给内核加载自己编写的模块
  • 请教linux中如何自动加载自己的模块
  • 模块加载错误: -1 Unknown symbol in module
  • 加载模块出错,系统死机
  • JavaScript 模块加载器 DefineJS
  • 加载模块的问题!
  • 为什么模块不能加载
  • 有没有什么办法能够查询到某个内核模块程序加载之后的运行情况?
  • 请教,如何知道内存中某个驱动模块是否已经被加载??
  • 在线等待!请文中怎么使用WebLogc的类加载器加载一个类?
  • 加载问题!!---------在线等待------
  • 一个不太难的疑点,加载光驱问题!在线等待,急!急!!急!!!
  • ubuntu,加载驱动问题,求教在线等待!!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • 请教一下Linux的动态库加载方式(是启动加载还是运行加载?)
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • driver的静态加载和动态加载占用内存问题
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • 可执行程序加载动态库 和 动态库加载动态库 的动态库初始化的问题
  • vmware下加载了一个虚拟软驱镜像,如果设置第一启动项为软驱的话,软驱能正常加载运行。但如果我第一启动项不设为软驱,正常启动fedora12的话。
  • usbhid妨碍了系统自动加载我的usb驱动程序,求教解决 (主要是加载后设备的驱动被认作usbhid)
  • 问问lib加载的问题
  • linux生成(加载)动态库静态库和加载示例方法
  • linux网卡驱动加载异常
  • 要写一个Linux下的elf加载器需要哪些知识?
  • 加载混杂设备
  • js/css文件加载管理 uetjs
  • 如何加载硬盘?
  • JS文件加载优化 ControlJS
  • 无刷新动态加载数据与滚动条加载适合评论的jquery代码
  • jQuery数据延迟加载插件 DataLazyLoad
  • 问个动态库加载的问题
  • 浏览器窗口滚动加载数据采用异步形式从后台加载数据
  • so 动态加载库 Hotpatch


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3