- 开机启动运行命令
- 开机启动运行服务
- Linux 服务管理两种方式service和systemctl
- systemctl命令兼容了service,即systemctl也会去/etc/init.d目录下,查看,执行相关程序
- service命令
- service命令其实是去/etc/init.d目录下,去执行相关程序,其中脚本需要我们自己编写
- 使用systemd+systemctl
- systemd是 Linux 下的一款系统和服务管理器(类似Windows的控制面板中的Services),有许多高级特性,systemctl介绍。
- systemd+systemctl需要系统和软件同时支持,系统要比较新,软件安装后要提供xxx.service(封装了要启动的命令)
- xxx.service
- 如软件在安装时,支持system+systemctl服务的话,会在/lib/systemd/system/目录提供这个用于注册服务的文件xxx.service
- 这个service文件其实封装的还是该软件提供的命令,一般该service文件中会有一个ExecStart=全路径命令+参数
- 但是如influxdb,为什么在/usr/lib/influxdb/scripts下面还有一个influxdb.service??这个service其实只是配了一些变量,用于同级的init.sh脚本使用。
- 检视和控制systemd的主要命令是systemctl,起多次会报错,像nagios这种都可以使用systemctl安装服务,其官方文档的安装手册上也有这个步骤,但也有的不能安装成服务,比如influxdb的influxd貌似就不行,会失败(貌似因为要前台运行命令?所以暂时放到了/etc/rc.local中在启动时执行),可以用systemctl status命令查看错误信息
- systemctl enable xxx.service
- systemctl disable xxx.service
- systemctl status [-a]:列出当前所有的服务及其状态等信息
- systemctl status xxx.service,查看服务的状态,也可以看到上次启动的错误信息
- systemctl start xxx.service
- systemctl restart xxx.service
- systemctl stop xxx.service