在 Linux(Fedora Unbuntu)环境中制作启动脚本的正确方法是什么?

在 Linux(Fedora Unbuntu)环境中制作启动脚本的正确方法是什么?

我是 Linux 新手

我想在我的 ubuntu 机器上制作一些启动脚本。启动脚本将自动启动我的 ftp、http 服务器。

我怎样才能以正确的方式做到这一点?

谢谢

成套工具

答案1

大多数服务器,如果在 Ubuntu 中使用 synaptic/apt-get 进行安装,并且我猜 Fedora 中有一个等效的程序(rpm?),将自动安装启动脚本。

它们通常以目录结尾/etc/init.d

有一个概念runlevels定义何时启动和停止守护进程。这些通常在 /etc/rcX.d/ 中找到,其中 X 是一个从 0 到 6 的整数加上“S”,这意味着在运行级别 X 中运行文件[SK]{00..99}名称按编号顺序(00 到 99)执行,其中 S 前缀表示开始,K 表示终止。

/etc/rc2.d/S20powernowd例如,这些文件只是指向实际文件的符号链接/etc/init.d通过反射,它们会自行评估它们是否以 S 或 K 开头,以调用脚本的开始或停止部分。

编号很重要,因为许多服务依赖于其他服务。文件系统必须在早期阶段安装,许多程序需要网络正常运行,日志守护程序已启动等等。

你看,这有点复杂,除了学习目的之外,你不喜欢手动做任何事情。

因此,请使用您的发行版的规范安装顺序,并研究 /etc-Scripts 以了解其工作原理。

您通常可以使用以下命令之一在 /etc/init.d 中启动或停止服务并执行其他操作:

sudo /etc/init.d/ftpd help
sudo /etc/init.d/ftpd start 
sudo /etc/init.d/ftpd restart 
sudo /etc/init.d/ftpd stop 
sudo /etc/init.d/ftpd status

但这只是惯例 - 一些服务可能不会使用所有这些选项,一些服务会使用或多或少的选项。

在 Ubuntu 中,情况最近有所改变。现在有 upstart 守护进程,它希望你使用

sudo restart apache2 
sudo status httpd 

达到相同的结果,但今天如果我使用旧的和更常见的样式,我只会收到警告。我不知道其他 Linux 风格和 Unix 系统是否也正在切换到 upstart。

相关内容