Systemctl

来自ling
跳转至: 导航搜索
Removed symlink /etc/systemd/system/multi-user.target.wants/etcd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/etcd.service to /usr/lib/systemd/system/etcd.service.

systemctl服务主体存贮目录:

cd /usr/lib/systemd/system/

systemctl服务开机启动链接存贮目录:

cd /etc/systemd/system/basic.target.wants/

列出所有开机自启的服务

systemctl list-unit-files|grep enabled

列出防火墙服务的自启状态

systemctl list-unit-files|grep firewalld

列出所有服务的层级和依赖关系,可以指定某个服务

systemctl list-dependencies [服务名称]

CentOS 7.x设置自定义开机启动,添加自定义系统服务

Centos 系统服务脚本目录:

/usr/lib/systemd/ 有系统(system)和用户(user)之分, 如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:

/lib/systemd/system/ 反之,用户登录后才能运行的程序,存在用户(user)里 服务以.service结尾。 这边以nginx开机运行为例 1.建立服务文件

vim /lib/systemd/system/nginx.service  
 
[Unit]  
Description=nginx  
After=network.target  
   
[Service]  
Type=forking  
ExecStart=/www/lanmps/init.d/nginx start  
ExecReload=/www/lanmps/init.d/nginx restart  
ExecStop=/www/lanmps/init.d/nginx  stop  
PrivateTmp=true  
   
[Install]  
WantedBy=multi-user.target

[Unit]:服务的说明

  • Description:描述服务
  • After:描述服务类别

[Service]服务运行参数的设置

  • Type=forking是后台运行的形式
  • ExecStart为服务的具体运行命令
  • ExecReload为重启命令
  • ExecStop为停止命令
  • PrivateTmp=True表示给服务分配独立的临时空间

注意:[Service]的启动、重启、停止命令全部要求使用绝对路径 [Install]服务安装的相关设置,可设置为多用户 2.保存目录 以754的权限保存在目录:/lib/systemd/system 3.设置开机自启动

systemctl enable nginx.service  

4.其他命令

  • 任务 旧指令 新指令
  • 使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service
  • 使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service
  • 检查服务状态 service httpd status systemctl status httpd.service (服务详细信息)
systemctl is-active httpd.service (仅显示是否 Active)
  • 显示所有已启动的服务 chkconfig --list systemctl list-units --type=service
  • 启动某服务 service httpd start systemctl start httpd.service
  • 停止某服务 service httpd stop systemctl stop httpd.service
  • 重启某服务 service httpd restart systemctl restart httpd.service

启动nginx服务

systemctl start nginx.service  

设置开机自启动

systemctl enable nginx.service  

停止开机自启动

systemctl disable nginx.service  

查看服务当前状态

systemctl status nginx.service  

重新启动服务

systemctl restart nginx.service  

查看所有已启动的服务

systemctl list-units --type=service