A. 如何查看linux服务器运行状态
Linux系统如何查看服务的运行状态?
1. 前言
本文主要讲解如何在Linux系统上查看服务的运行状态。
Linux系统提供各种系统服务(如进程管理、登录服务、日志、计划任务等)和网络服务(如远程登录、电子邮件、打印机、web主机、数据存储、文件传输、域名解析(使用DNS)、动态IP地址分配(使用DHCP)等等)。
Linux系统如何查看服务的运行状态
从技术上讲,服务是一个进程或一组进程(通常称为守护进程),在后台连续运行,等待请求(特别是来自客户机的请求)。
Linux支持不同的方式来管理服务,比如启动、停止、重启、开机自启动等,大多数最新的Linux发行版在使用相同的进程管理器-systemd。
systemd是Linux系统和服务管理器init进程的一个替代品,它与SysV和LSB init脚本兼容,systemctl命令是管理systemd的主要工具。
systemd的组件
systemd的组件
在本教程中,我们将演示如何查看Linux系统中systemd可管理的所有服务。
2. 如何查看Linux系统中systemd可管理的所有服务
当您不带任何参数运行systemctl命令时,它将打印所有已加载的systemd单元的列表(请阅读systemd文档以获得有关systemd单元的更多信息)。显示各服务单元的状态(无论是活动的还是非活动的)。
systemctl
如何查看Linux系统中systemd可管理的所有服务
列出系统上所有已加载的服务,查看它们活动状态,是否正在运行、是否关闭、是否启动失败。
systemctl list-units --type=service
或者
systemctl --type=service
列出系统上所有已加载的服务,查看它们活动状态
要列出所有已加载但已经设置开机自启动的服务
systemctl list-units --type=service --state=active
systemctl --type=service --state=active
要列出所有已加载但已经设置开机自启动的服务
查看所有正在运行的服务:
systemctl list-units --type=service --state=running
systemctl --type=service --state=running
查看所有正在运行的服务
如果经常使用前面的命令,可以在创建别名命令,编辑bashrc文件
vim ~/.bashrc
添加以下内容,创建别名命令running_services。
alias running_services='systemctl list-units --type=service --state=running'
保存文件并退出。使用running_services命令查看服务器上所有已加载、正在运行的服务的列表。
running_services
此外,服务的一个重要方面是它们使用的端口。要确定守护进程监听的端口,可以使用netstat或ss工具,如下所示。
其中-l选项表示打印所有监听的套接字,-t显示所有TCP连接,-u显示所有UDP连接,-n表示打印数字端口号(而不是应用程序名称),-p表示显示应用程序名称。
netstat -ltup | grep sshd
或者
ss -ltup | grep sshd
第五列显示套接字:本地地址:端口。在本例中,进程sshd正在端口22上监听。
查看守护进程监听的端口
此外,如果您的服务器防火墙服务运行的状态,使用以下命令查看已经允许或者阻塞的端口或者服务
查看防火墙服务运行的状态
firewall-cmd --list-services
firewall-cmd --list-ports
Ubuntu 用户
sudo ufw status
3. 总结
在本教程中,我们演示了如何在Linux中查看systemd下运行的服务及这些服务的运行状态。我们还介绍了如何检查服务正在监听的端口,以及如何查看在防火墙服务已经允许或者阻塞的服务和端口号。
B. 查看linux开启了哪些服务
1. 查看Linux启动的服务
chkconfig --list 查询出所有当前运行的服务
chkconfig --list atd 查询atd服务的当前状态
2.停止所有服务并且在下次系统启动时不再启动,如下所示:
chkconfig --levels 12345 NetworkManager off
如果想查看当前处于运行状态的服务,用如下语句过滤即可
chkconfig --list |grep on
3.如果只是想当前的设置状态有效,在系统重启动后即不生效的话,可以用如下命令停止服务
service sshd stop
(2)查看linux所有服务扩展阅读:
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
C. Linux系统下查看服务器硬件信息
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看 操作系统 版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# -sh <目录名> # 查看指定目录亩陆的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听神耐信端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w 游轮 # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录 日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
查看网卡型号
[[email protected]]# lspci | grep Ethernet
00:19.0 Ethernet controller: Intel Corporation 82567V-2 Gigabit Network Connection
查看内存和cpu最直接最常用的命令:
[[email protected]]# free
total used free shared buffers cached
Mem: 3069504 528876 2540628 0 76648 396152
-/+ buffers/cache: 56076 3013428
Swap: 5124692 0 5124692
[[email protected]]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Pentium(R) Dual-Core CPU E6500 @ 2.93GHz
stepping : 10
cpu MHz : 1596.000
cache size : 2048 KB
查看硬盘信息(查看硬盘型号和硬盘序列号):
[[email protected]]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 2.0G 272M 1.6G 15% /
/dev/sda8 199G 188M 189G 1% /home
/dev/sda3 9.7G 1.3G 7.9G 15% /usr
/dev/sda2 9.7G 198M 9.0G 3% /var
/dev/sda1 99M 17M 77M 18% /boot
方法1:
[[email protected]]# hdparm -i /dev/sda
/dev/sda:
Model=SAMSUNG HE253GJ , FwRev=1AJ30001, SerialNo= S2B5J90ZC12060
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-0 ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7
* signifies the current active mode
方法2:
[[email protected]]# dmesg | grep ATA
ata1: SATA max UDMA/133 cmd 0xf190 ctl 0xf180 bmdma 0xf150 irq 185
ata2: SATA max UDMA/133 cmd 0xf170 ctl 0xf160 bmdma 0xf158 irq 185
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ATA-8: SAMSUNG HE253GJ, 1AJ30001, max UDMA/133
ata2: SATA link down (SStatus 0 SControl 300)
Vendor: ATA Model: SAMSUNG HE253GJ Rev: 1AJ3
ata3: SATA max UDMA/133 cmd 0xf130 ctl 0xf120 bmdma 0xf0f0 irq 185
ata4: SATA max UDMA/133 cmd 0xf110 ctl 0xf100 bmdma 0xf0f8 irq 185
ata3: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata5: PATA max UDMA/100 cmd 0xe040 ctl 0xe030 bmdma 0xe000 irq 177
[[email protected]]# dmidecode|more
# dmidecode 2.10
SMBIOS 2.4 present.
57 structures occupying 2318 bytes.
Table at 0x000E84B0.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Intel Corp.
Version: GTG4310H.86A.0019.2009.0625.1334
Release Date: 06/25/2009
.....
System Information 服务器品牌
Manufacturer:
Proct Name: (没有信息表示非品牌或未识别)
Version:
Serial Number:
UUID: 889BD67E-8D96-11DE-AC40-0013D4D9C9E8
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information 主板型号/主板信息
Manufacturer: Intel Corporation
Proct Name: DG43GT
Version: AAE62768-300
Serial Number: BTGT9340022N
Processor Information CPU信息/CPU型号/CPU主频
Socket Designation: PROCESSOR
Type: Central Processor
Family: Pentium D
Manufacturer: Intel(R) Corp.
ID: 7A 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 23, Stepping 10
Version: Pentium(R) Dual-Core CPU E6500 @ 2.93GHz
Voltage: 1.2 V
External Clock: 266 MHz
Max Speed: 4000 MHz
Current Speed: 2931 MHz
Status: Populated, Enabled
Upgrade: Socket LGA775
Cache Information 硬件和CPU缓存情况
Socket Designation: L1-Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 32 kB
Maximum Size: 32 kB
BIOS Language Information BIOS语言
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1
Physical Memory Array 主板最大支持内存
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x002C, DMI type 19, 15 bytes
Memory Array Mapped Address 目前的内存
Starting Address: 0x00000000000
Ending Address: 0x000FFFFFFFF
Range Size: 4 GB
Physical Array Handle: 0x002B
Partition Width: 0
On Board Device Information 显卡型号
Type: Video
Status: Enabled
Description: Intelr GMA X4500 Video Device
如何确定品牌服务器,不受到忽悠(某日我们买了一台dell品牌服务器,如何确定没有被忽悠呢?):
[[email protected]]# dmidecode|more (如果能看到dell的型号,就可以肯定没错了)
Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Dell Inc.
Proct Name: PowerEdge T110
Version: Not Specified
Serial Number: J47RBP1
UUID: 4C4C4544-0034-3710-8052-CAC04F425031
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
Handle 0x0200, DMI type 2, 9 bytes
Base Board Information
Manufacturer: Dell Inc.
Proct Name: 0V52N7
Version: A02
Serial Number: ..CN708210CD0166.
Asset Tag: Not Specified
Handle 0x0300, DMI type 3, 21 bytes
Chassis Information
Manufacturer: Dell Inc.
Type: Main Server Chassis
Lock: Present
Version: Not Specified
Serial Number: J47RBP1
D. 如何查看和停止Linux启动的服务
ps -aux 查看所有进程, 其中有个PID,就是进程号。要结束某一进程的的话直接kill PID例如 kill 2033。
如果想查询一个服务的进程号(前提是你知道是什么服务)例如 pgrep httpd 检查httpd服务各个进程号 出来几个就表示有几个进程 用 pkill httpd all 可以直接结束所有与httpd相关的进程。
有些进程如果杀不掉 可以暴力点 kill -9 +PID
E. 查看linux开启了哪些服务
linux系统使用 chkconfig --list 查看当前开启的服务
1. chkconfig --list 查询出所有当前运行的服务
2. chkconfig --list atd 查询atd服务的当前状态
3.chkconfig --list |grep on查看当前处于运行状态的服务,用此语句过滤即可
(5)查看linux所有服务扩展阅读:
chkconfig在没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。
on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。
参考资料来源:linux官网