c语言设置程序自动执行,openSUSE如何设置开机自动执行某个C语言编译的程序

openSUSE没有/etc/rc.d/rc.local这个文件,网上查找资料说可以/etc/init.d下添加服务脚本程序,

但好像我的是用C编译的可执行程序,用chkconfig命令时会提示unknown service。

请问怎样才能实现开机自动运行某个C语言编译的程序呢???

麻烦详细解答下

|

我用的是suse10sp2,不是opensuse,但差别应该不是不大。我当时配好的那台服务器已经寄给客户了,我手上没有suse的。我当时的步骤是:其中xxx是你的服务名字

根据模版/etc/init.d/skeleton写好启动脚本,放在/etc/init.d/下。这个脚本的编写,重要的是init infoheader的编写。下面是xxx中的

### BEGIN INIT INFO

# Provides:          xxx

# Required-Start:    $local_fs $network xdm mysql

# Should-Start:

# Required-Stop:

# Should-Stop:

# X-Start-Before:

# Default-Start:     5

# Default-Stop:      0 1 2 6

# Short-Description: Start xxx server

# Description:       ...

### END INIT INFO

然后运行

# insserv /etc/init.d/italkavatar

就可以了,该命令会将这个脚本安装,并在rc5.d中生成相应的符号链接。

里面没有写gdm,而是xdm,因为suse是用这个脚本去启动gdm的。那个信息头的信息就是要等待xdm启动好了以后才运行xxx。这个顺序错了,就算你进入runlevel 5也没用。其实各个runlevel的差别就在启动的服务不同以及服务之间的依赖关系会因此有些变化。你可以好好看看inittab的manual,其实是init进程读取inittab,按照这个脚本的指示去读取init.d,并按照init.d特定的文件组织,依次启动服务

|

1.简单的方法,在/etc/inittab结尾加上你要启动的程序.

2.复杂的方法,自己做个service启动脚本(把别的服务启动脚本复制过来该改改就是了,注意改成自己服务名和放到正确的地方),然后用chkconfig添加并调整你想在哪些运行级别自动启动服务

|

/etc/rc.d/rc.local

你说的的这个就行啊。

直接添加行

/yourpath/yourprogram

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值