+ -
当前位置:首页 → 问答吧 → 请教各位大虾!!debian下怎样让程序开机自动运行!!!

请教各位大虾!!debian下怎样让程序开机自动运行!!!

时间:2006-07-25

来源:互联网

我有个文件名是abc放在usr/bin下了!!!可以在系统任何目录下输入abc来执行了!!!但是我想弄成开机就自动运行abc这个程序怎么弄???

作者: mycsun   发布时间: 2006-07-25

搜索!

作者: d00m3d   发布时间: 2006-07-25

我到收了一晚上也没有找到哟!!

作者: mycsun   发布时间: 2006-07-25

这个问题差不多每月都有人问(月X帖!),会搜不到?

问答都 N 多次了,所以才不愿答。给你一个提示,上周又有人问过,再搜搜看!

作者: d00m3d   发布时间: 2006-07-25

大哥给个提示呀!!我看到有人说放到rcS里面!!可是放进去系统启动就有问题了!!!

作者: mycsun   发布时间: 2006-07-26

哦!忘了说了!我是装的光基本系统!其他什么也没有装!!只装了个vsftp程序!!然后就是想开机自动运行个其他的程序!!谢谢了老大!!

作者: mycsun   发布时间: 2006-07-26

引用:
作者: mycsun
大哥给个提示呀!!我看到有人说放到rcS里面!!可是放进去系统启动就有问题了!!!
一般有几个方法:

1. 把程序的名字加到 /etc/init.d/rcS 的最後面,不要随意乱放
2. 若果是常用的 daemon,可以安装 rcconf,然後用 rcconf 来选择
3. 自行加在 /etc/init.d 内,然後在 /etc/rcX.d 内创建 symlink

Clear?

作者: d00m3d   发布时间: 2006-07-26

大哥就是加到/etc/init.d/rcS 的最后!!!我直接加的就是程序名字,但是启动报很多错误!!用rcconf没法选!!!程序是我自己加的!!第三个方法更不懂了!!!我菜鸟一个呀!!!

作者: mycsun   发布时间: 2006-07-26

什麽错误?什麽程序?

作者: d00m3d   发布时间: 2006-07-26

就是一个!!camd3程序!!!他放在usr/bin下面的!!没有后缀名字的!!!

作者: mycsun   发布时间: 2006-07-26

/usr/bin/camd3 程序本身能执行否?

作者: d00m3d   发布时间: 2006-07-26

可以的!!camd3在任何目录下都可以执行的!!!

作者: mycsun   发布时间: 2006-07-26

怎样加到 /etc/init.d/rcS 後面?

启动报了什麽错误?

能否详细一点或截张图看?

作者: d00m3d   发布时间: 2006-07-26

登陆后用root进去什么也做不了!!!前面的主机名字变成noo什么的了!!记不清了!!

作者: mycsun   发布时间: 2006-07-26

会这样的吗?

camd3 是什麽程序?你到底在 rcS 内改了什麽?

作者: d00m3d   发布时间: 2006-07-26

就是在最后加了个camd3什么都没有做了!!

作者: mycsun   发布时间: 2006-07-26

那麽你先把 /etc/init.d/rcS 还原,改用第三个方法吧

还原後,你去看看 /etc/rcX.d 的内容是什麽,X 是指不同的 run level,由 0-6

另请说明一下你是否要用图型介面

作者: d00m3d   发布时间: 2006-07-26

我不用图形的界面的!!!我都重装了几次了!!再也不敢改哪个rcS了!!/etc/rcX.d,X有0-6还有个S这里面又怎么弄???我实在不懂呀!!

作者: mycsun   发布时间: 2006-07-26

现在不要弄,先了解其内容

作者: d00m3d   发布时间: 2006-07-26

大哥里面全是一些快接方式呀!!!

作者: mycsun   发布时间: 2006-07-26

正解!

作者: d00m3d   发布时间: 2006-07-26

那怎么弄呀!!!

作者: mycsun   发布时间: 2006-07-26

原理是这样的,你把要执行的程序拷一份在 /etc/init.d 内,然後在 /etc/rcX.d 内建一个连结到 /etc/init.d/camd3

你应该在 /etc/rcX.d 内看见很多 Sxx 或者 Kxx 的连结,S 代表 Start(启动),K 代表 Kill(停止),xx 是启动或停止的顺序

若果你不需要图型介面的话,多数是从 run level 3 来启动的,也就是说,以 root 身分执行如下部骤:

cp /usr/bin/camd3 /etc/init.d
ln -s /etc/init.d/camd3 /etc/rc3.d/Sxxcamd3

你自行决定 xx 的大少,如无需特别优先,就用 S99camd3 吧,如需在其他 run level 执行 camd3,就在其他 rcX.d 加入相似的连结,但注意,不要在 rc0.d 及 rc6.d 内加 symlink

若然你还不知道什麽是 run level,那麽你就当上面都没有看过,直接把 symlink 创建在 /etc/rcS.d 内,即是

cp /usr/bin/camd3 /etc/init.d
ln -s /etc/init.d/camd3 /etc/rcS.d/S99camd3

重启!

日後对系统熟识一点後再重温一下帖子吧,不好意思,要上班了,不能多说了

Good Luck!

作者: d00m3d   发布时间: 2006-07-26

太感谢你了!!大哥!!!谢谢!!!以后多看看帖子学习!!!

作者: mycsun   发布时间: 2006-07-26

大哥没法哟!!不知道怎么的!!!
cp /usr/bin/camd3 /etc/init.d
没法复制进去!!!我用ftp传进去的!!!
ln -s /etc/init.d/camd3 /etc/rcS.d/S99camd3
创建了看不到!!重新运行他说文件存在!!!
忘了说了我是远程弄的!!

作者: mycsun   发布时间: 2006-07-26

在kernel做完必要的“初始化”工作后,会启动一个pid为1的init进程,它是一切其它进程的父进程,这个程序其实就是/sbin/init,(可以写一个疯狂的init替换掉/sbin/init^_^),在debian(ubuntu)里,这个程序由包sysvinit提供。

init执行inittab里规定的脚本(通常是getty),事实上文件/etc/inittab是init的配置文件,inittab里也规定了运行级别(runlevel)的脚本和其它的一些东西。
在ubuntu里,init将首先运行/etc/init.d/rcS,这个脚本又去执行/etc/init.d/rc S,在rc里,应该是以单用户方式去执行/etc/rcS.d/下的以S开头的脚本(按数字顺序)。rcS.d/里的主要文件都是指向/etc/init.d/下的链接。
之后init会转如inittab规定的默认运行级别,debian默认是2.那么最后执行/etc/rc2.d/下以S开头的脚本

作者: 超级用户   发布时间: 2006-07-26

那到底怎么弄呀!!!!大哥!!!

作者: mycsun   发布时间: 2006-07-26

大不了,再重装一次……

作者: 超级用户   发布时间: 2006-07-26

我到!!!还是没有说出办法来!!

作者: mycsun   发布时间: 2006-07-26

我用的是ubuntu 5.10,我安装了fcitx,想开机自动运行,我用的是下面的方法:
将fcitx放到/etc/init.d/中,然后用$sudo update-rc.d fcitx defaults 99,但是我不清楚这个方法怎末不行?
以前用这种方法挺奏效的,希望兄弟们给找找问题的原因

作者: lin_lin13   发布时间: 2006-07-26

远程搞,服务器最好开 ssh 啊!安全又方便。
关于引导时自动运行:
$man update-rc.d
里面再详细不过了。

如果你的 camd3 是二进制文件,不要直接 cp /usr/bin/camd3 /etc/init.d 啊!
写个简单的脚本如 camd3.sh 放到 /etc/init.d
camd3.sh 内容大致如下:
#! /bin/sh
/usr/bin/camd3 &

我不敢保证你的 camd3 程序是否会卡住系统引导,故放到了后台, 加了个 &。

作者: quanliking   发布时间: 2006-07-26

debian很容易的--最简单放到/etc/init.d/bootmisc.sh最后面就行了。

作者: fei   发布时间: 2006-07-26

果你的 camd3 是二进制文件,不要直接 cp /usr/bin/camd3 /etc/init.d 啊!
写个简单的脚本如 camd3.sh 放到 /etc/init.d
camd3.sh 内容大致如下:
#! /bin/sh
/usr/bin/camd3 &

我不敢保证你的 camd3 程序是否会卡住系统引导,故放到了后台, 加了个 &。
这个方法不行哟!!!还是不启动!!!
debian很容易的--最简单放到/etc/init.d/bootmisc.sh最后面就行了。
请问这个怎么弄???我菜鸟呀!!!你直接给我说怎么弄吧!!!谢谢了!!!

作者: mycsun   发布时间: 2006-07-26

这个程序是做什么的?还有,帖下启动时候的 log 吧

作者: SDE   发布时间: 2006-07-26

就是普通的一般程序!!!

作者: mycsun   发布时间: 2006-07-26

脚本写好后,你用了 update-rc.d 了么???
把你的过程说一下。

作者: quanliking   发布时间: 2006-07-26

哦!!!我不知道呢!!那我弄下看看!!update-rc.d 了么???

作者: mycsun   发布时间: 2006-07-26

我晕!!!update-rc.d怎么用呀!!!

作者: mycsun   发布时间: 2006-07-26

update-rc.d camd3.sh defaults

quanliking 都叫你 man page 了!

其实 update-rc.d 的原理跟手动加 symlink 是一样的

作者: d00m3d   发布时间: 2006-07-26

嘿嘿!!可以了!!太谢谢了!!谢谢各位了!!!以后一定多学习!!!

作者: mycsun   发布时间: 2006-07-27

现有你用的是 update-rc.d camd3.sh defaults 来加入 symlink 的,将来要取消的话用

update-rc.d -f camd3.sh remove

以後要多看 man page。。。

作者: d00m3d   发布时间: 2006-07-27

哦对了!!!我vsftp开放匿名下载后csftp就运行不起了!!!怎么的???

作者: mycsun   发布时间: 2006-07-27

热门下载

更多