Linux开机自启动脚本和服务systemctl


在CentOS7中,systemctl命令主要负责控制systemd系统和服务管理器。基本取代了service和chkconfig命令,虽然service和chkconfig命令依然保留,但是据说已经被阉割过

centos7以后的开机自启动自启动都放在了/usr/lib/systemd/system这个目录下,所有的自启动脚本都要写成service为结尾的脚本文件下边演示 NGINX开机自启动

编写nginx.service脚本

[Unit]
Description=nginx service
After=network.target 
   
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true 
   
[Install] 
WantedBy=multi-user.target

 

Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

 

写完启动脚本后要执行systemctl enable nginx.service 开启开机自启动,如果你不想开机自启动的话,可以使用systemctl disable nginx.service

systemctl --version,查看版本。
whereis systemctl,查看位置。
systemctl list-unit-files,列出所有可用单元(服务)。
systemctl list-units,列出所有运行中的单元。
systemctl --failed,列出所有失败的单元。
systemctl list-unit-files | grep enable,查看自启动的软件。
systemctl is-enabled mysqld.service,查看某个单元是否开机启动。
systemctl status mysqld.service,查看某个单元的状态。
systemctl start mysqld.service,启动某个单元。
systemctl restart mysqld.service,重启某个单元。
systemctl stop mysqld.service,停止某个单元。
systemctl daemon-reload,修改了某个单元的配置文件后,重载配置文件。
systemctl reload mysqld.service,重载某个单元。
systemctl enable mysqld.service,设置开机自启动。
systemctl disable mysqld.service,关闭开机自启动。
systemctl kill mysqld,杀死单元。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2024 CODEPRJ.COM