本博客参考了网上的各种资料和man,以及<< How linux works >>一书部分内容
linux系统中主要的init版本有如下
init类型说明识别Systemd新出现的init,很多linux发行版都已经或者计划转向Systemd如果你的系统目录文件中/usr/lib/systemd和/etc/systemd,说明你有systemd,例如我的ubuntu 17.10就有Upstartubuntu曾经使用的init,但是现在已经转向了systemd系统目录有/etc/init,而且其中有许多conf文件,说明你的系统有upstart(除非你的系统是debian7,那说明你使用的是System V init),同时,我发现我的ubuntu 17.10也有这个目录,我猜测可能是为了兼容(此处存疑问,现在的ubuntu的init确实是systemd)System V init传统的init,大多数的linux发行版都会兼容系统有/etc/inittab文件,说明你很可能是System V init命令简单用处
sercice SCRIPT COMMAND 实际上,SCRIPT是在/etc/init.d/下的,而COMMAND可以是start,stop,status,restart,reload,它们的作用是显而易见的(例如开启ssh服务可以 sudo service ssh start)。
service --status-all会显示出所有系统服务列表,其中”+”代表服务正在运行,而”-“代表服务处于关闭状态,”?”代表根本没有状态这一说。(其实查看运行服务还可以用 ps aux | grep service_name查看进程情况;如果是网络服务,还可以查看端口的监听情况,执行 `netstat -tuln | grep service_name/port_number,例如可以执行 netstat -tuln | grep ftp查看端口状态,默认端口为21)
只介绍常见常用的命令:
打开服务:sudo systemctl start foobar关闭服务:sudo systemctl stop foobar重启服务:sudo systemctl restart foobar不中断正常功能下重新加载服务:sudo systemctl reload foobar设置服务的开机自启动:sudo systemctl enable foobar关闭服务的开机自启动:sudo systemctl disable foobar查看活跃的单元:systemctl list-units查看某个服务的状态:systemctl status foobar