当前位置: 技术问答>linux和unix
在linux下怎么能让我自己的程序在系统启动的时候自动运行啊?
来源: 互联网 发布时间:2015-12-15
本文导语: 在linux下怎么能让我自己的程序在系统启动的时候自动运行啊? | 楼上已经回答的可以了,我再补充一点点: 1.*nix系统启动都是从init进程(pid=1)开始的,它读取/etc/inittab中的内容来启动各种任...
在linux下怎么能让我自己的程序在系统启动的时候自动运行啊?
|
楼上已经回答的可以了,我再补充一点点:
1.*nix系统启动都是从init进程(pid=1)开始的,它读取/etc/inittab中的内容来启动各种任务。所以一个野蛮的方法是放在这里,允许对你的进程的启动和终止有更多的控制(像X“respawn”和"ctrl+alt+del"一样cool),但你必须熟悉inittab的格式,还有你必须明白你自己在做什么(这个文件很重要,终端及登录都是由它直接启动)。
2.像楼上提到的/etc/rc.d 系脚本,这些脚本分别位于rc*.d目录中,*代表level,每个目录就是inittab中的6个level所要启动的服务进程。都用符号链接指向真实的服务启动脚本/etc/init.d/,这些服务链接都以K,S开始代表停止和开始,紧接其后的数字表示停止和开始的优先级(因为服务的启动顺序可能还有依赖关系),然后是服务名。如果你的程序是服务,那么你可以手工在里面建立分别以K,S开头的两个连接。当然rc.d系服务并不神秘,都是由init读取inittab然后启动的。
3.在/etc/rc.d中有两个特殊文件rc.sysinit和rc.local.rc.sysinit是系统全局启动文件,它是在系统启动后最先被执行的脚本,里面基本上是硬件和最重要的守护的初始化过程。如无特殊需要不要修改。rc.local是普通应用程序启动的地方,它大概是最后被执行的。所以你也可以把启动程序放在它们里面
1.*nix系统启动都是从init进程(pid=1)开始的,它读取/etc/inittab中的内容来启动各种任务。所以一个野蛮的方法是放在这里,允许对你的进程的启动和终止有更多的控制(像X“respawn”和"ctrl+alt+del"一样cool),但你必须熟悉inittab的格式,还有你必须明白你自己在做什么(这个文件很重要,终端及登录都是由它直接启动)。
2.像楼上提到的/etc/rc.d 系脚本,这些脚本分别位于rc*.d目录中,*代表level,每个目录就是inittab中的6个level所要启动的服务进程。都用符号链接指向真实的服务启动脚本/etc/init.d/,这些服务链接都以K,S开始代表停止和开始,紧接其后的数字表示停止和开始的优先级(因为服务的启动顺序可能还有依赖关系),然后是服务名。如果你的程序是服务,那么你可以手工在里面建立分别以K,S开头的两个连接。当然rc.d系服务并不神秘,都是由init读取inittab然后启动的。
3.在/etc/rc.d中有两个特殊文件rc.sysinit和rc.local.rc.sysinit是系统全局启动文件,它是在系统启动后最先被执行的脚本,里面基本上是硬件和最重要的守护的初始化过程。如无特殊需要不要修改。rc.local是普通应用程序启动的地方,它大概是最后被执行的。所以你也可以把启动程序放在它们里面