在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,殺死單元。