Linux系统服务(systemctl)的使用
常驻系统内存中的进程且可以提供一些系统和网络功能;现在最新的Linux系统都统一使用systemctl进行服务的管理。
服务:常驻系统内存中的进程且可以提供一些系统和网络功能;现在最新的Linux系统都统一使用systemctl进行服务的管理。
1、运行级别的分类 runlevel
> 运行级别0:系统停机状态
> 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
> 运行级别2:多用户状态(没有NFS)
> 运行级别3:完全的多用户状态(有NFS)
> 运行级别4:系统未使用,保留
> 运行级别5:X11控制台
> 运行级别6:系统正常关闭并重启
2、管理服务 systemctl (root权限)
> systemctl [opt] xxx.service
> status 查看当前服务状态
> start 启动服务
> stop 关闭服务
> restart 重启服务
> enable 设置开机启动
> disable 设置开机不启动
> reload 后面不接具体服务名,重新加载配置文件
> mask 注销服务
> unmask 取消注销
3.一些常用命令 systemctl
- 查看当前已经启动的服务 systemctl list-units
- 查看所有服务 systemctl list-unit-files
- 查看服务有哪些依赖 systemctl list-dependencies xx.service
- 查看服务有哪些依赖(反向) systemctl list-dependencies --reverse xx.service
4.system 服务相关的一些目录( Centos 环境,Debian 类的环境可能会有稍许不同)
/usr/lib/systemd/system/ 系统安装的软件默认启动脚本目录
/etc/systemd/system/ 用户根据自己需要建立的启动脚本目录
/etc/sysconfig/ 服务初始化选项目录
/var/lib/ 服务运行时产生的数据存储目录
/etc/xxx/ 各服务配置目录
5.结合一个例子来具体讲解,一台机开启两个ssh服务
我们最常使用的ssh服务,系统默认ssh服务22端口,我现在想再开一个ssh服务,端口8888
1.系统服务启动脚本 /usr/lib/systemd/system/sshd.service,将其复制到 /etc/systemd/system/ 下,并改名为 sshd2.service,文件内容如下
- [Unit]
- Description=OpenSSH server daemon
- Documentation=man:sshd(8) man:sshd_config(5)
- After=network.target sshd-keygen.service
- Wants=sshd-keygen.service
- [Service]
- Type=notify
- EnvironmentFile=/etc/sysconfig/sshd
- ExecStart=/usr/sbin/sshd -D $OPTIONS
- ExecReload=/bin/kill -HUP $MAINPID
- KillMode=process
- Restart=on-failure
- RestartSec=42s
- [Install]
- WantedBy=multi-user.target
因为要重启一个新的服务,所以要修改一下ExecStart这一行,读取新的配置文件 sshd2_config,改为
- ExecStart=/usr/sbin/sshd -D $OPTIONS -f /etc/ssh/sshd2_config
2.到 /etc/ssh/ 下,将 sshd_config 复制到 sshd2_config,并修改端口那一行
- Port 8888
3.运行命令 systemctl reload 重新加载一下配置
4.运行命令 systemctl status sshd2.service 查看状态
5 运行命令 systemctl start sshd2.service 开启服务
6.运行命令 systemctl enable sshd2.service 设置开机启动
7.在另一台机器上登录 ssh fancy@ip -p8888 就可以登录了
- 注意1,防火墙要打开8888端口
- 注意2,官方建议用户自己新建的服务脚本最好存放在 /etc/systemd/system/ 目录下,实际情况下存放在系统服务目录 /usr/lib/systemd/system/ 下也是没有问题的,看个人选择了
6、我们再来举个例子,做一个自己的服务
1.在 /root/bin/ 下创建一个shell脚本 fancy_test.sh,并修改其权限,chmod u+x fancy_test.sh,内容如下
- #!/bin/bash
- logdate=$(date +%s)
- logdir="/root/log/"
- logname=fancy.${logdate}.log
- #echo $logname
- touch ${logdir}${logname}
意思是,运行该服务时,在 /root/log/ 目录下创建一个日志文件
2.在 /etc/systemd/system/ 下创建启动脚本 fancy_test.service,输入一下内容
- [Unit]
- Description=fancy_test server daemon
- [Service]
- Type=simple
- ExecStart=/root/bin/fancy_test.sh
- [Install]
- WantedBy=multi-user.target
3.运行命令 systemctl reload
4.运行命令 systemctl start fancy_test.service
5.此时你会看到在 /root/log/ 目录下创建了一个日志文件
- 注意,我们这个是最简单的服务,执行几个命令而已,所以没有配置文件,也不会常驻内存,运行一次就结束
Linux系统服务(systemctl)的使用相关推荐
- Linux 系统服务管理(启动服务/停止服务/重启服务)的命令 - chkconfig/service/systemctl
文章目录 一.使用命令 chkconfig 管理系统服务 (一)命令介绍 二.使用命令 service 管理系统服务 (一)命令介绍 (二)命令用法 1.启动服务 2.停止服务 3.重启服务 4.查看 ...
- 查看运行状态_查看 Linux 系统服务的 5 大方法
Linux 系统服务有时也称为守护程序,是在Linux启动时自动加载并在Linux退出时自动停止的系统任务. 在本文中,良许将为大家介绍如何列出 Linux 系统里所有运行的服务,以及如何检查某个服务 ...
- Linux使用systemctl设置程序开机自启动
1 说明 设置开机自启动,需要用到systemctl工具. systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器. systemd是一个系统管理守护进程.工具和库的集 ...
- linux之systemctl命令
Linux 服务管理两种方式service和systemctl,systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动.sy ...
- zabbix监控Linux系统服务
转载来源 :zabbix监控Linux系统服务: http://www.lwops.cn/thread-256-1-2.html Zabbix自动发现规则监控Linux系统的service units ...
- linux启动zabbix服务,zabbix监控Linux系统服务的流程
Zabbix自动发现规则监控Linux系统的service units 项目要求:通过systemctl命令查看Linux系统的service units: 监控前提:zabbix环境已搭建好: 监控 ...
- linux 如何注册服务,Linux 系统服务注册
Linux注册系统服务步骤 1.编写服务脚本 2.拷贝到/etc/init.d目录下 3.为服务脚本添加可执行权限 >>chmod a+x xxxd 4.添加到系统服务中 ...
- Linux系列教程——1 Linux磁盘管理、2 Linux进程管理、3 Linux系统服务、 4 Linux计划任务
文章目录 1 Linux磁盘管理 1.磁盘的基本概念 1.什么是磁盘 2.磁盘的基本结构 3.磁盘的预备知识 1.磁盘的接口类型 2.磁盘的基本术语 3.磁盘在系统上的命名方式 4.磁盘基本分区Fdi ...
- 5 种方法带你查看Linux系统服务
文章目录 5 种方法带你查看Linux系统服务 Centos/RHEL 7.X 的 systemd 系统服务查看 使用 netstat 命令查看系统服务 通过系统服务配置文件查看系统服务 查看 sys ...
最新文章
- c++中new和delete的使用方法
- 服务器运行jupyter notebook,解决办法
- 538. 把二叉搜索树转换为累加树
- 判断文件是否存在如果不存在则创建
- Redis服务安全加固
- Windows Server 2016安装IIS服务步骤
- Windows Server 2008 RC1标准版
- 爱奇艺多模态短视频内容标签技术及应用
- Java 拾遗补阙 ----- 数据类型
- NeurIPS 2021 放榜!旷视研究院5篇接收论文亮点解读!
- 服务器无线网络禁用启用无效,无线网络卡一直被禁用,无法启用
- 基于Pandas的股票数据分析
- 安装DevExpress后如何在工具箱显示Dev控件
- 关于Ajax的英雄联盟查询英雄案例
- ByteBuffer Converting CharBuffer
- CAPP集成化工艺设计与管理系统
- jenkins网页打不开问题解决方法
- 数据湖08:Apache Iceberg原理和功能介绍
- 《人工智能怎么学》精华连载预告
- 100以内的阶乘计算方法
热门文章
- ubuntu18.04 更改apt源
- php连mssql 中文乱码,PHP连接MSSQL显示中文时为乱码_PHP教程
- Request转发---应用
- 幼儿园计算机知识培训内容,幼儿园教师计算机培训计划
- python怎么从键盘输入两个数然后求和并输出_C语音的题:从键盘输入两个整数,要求求和然后输出和。应该怎么做?...
- 数字货币交易所源码_(数字货币交易所科普)开发数字货币交易所应该注意哪些问题...
- python的for语句是否只有一种写法_跟老齐学Python之for循环语句
- oracle asm 日志,Oracle+RAC+ASM数据库ora-00257日志归档器错误解决方法
- android崩溃无日志,Android 收集Crash日志----UncaughtExceptionHandler
- vb6 串口同时读取写入数据怎么避免冲突_实例:S7-200 SMART通过Modbus-RTU读取温湿度传感器数据...