【Linux 系列笔记】19 进程管理 和 服务管理

Linux 进程管理

  • 1.进程管理
    • (1)基本概念
    • (2)查看系统进程 ps
    • (3)终止进程 kill
  • 2. 服务管理
    • (1)服务管理(临时)
    • (2)查看服务
    • (3)服务的运行级别
    • (4)服务管理(永久)
  • 3. 动态监控进程和网络
    • (1)监控进程
    • (2)监控网络情况


1.进程管理

(1)基本概念

  • 在 Linux 中,每个执行的程序(代码)都称为一个进程,每一个进程都被分配一个 ID 号;
  • 每一个进程都对应一个父进程,而父进程又可以复制多个子进程;
  • 每个进程都可能以两种方式存在—— 前台后台进程(守护进程)。前台进程就是屏幕上可见可操作的,后台进程则是不可见而实际也在操作的,直到关机才结束;
  • 一般系统的服务都是以后台进程的方式存在。

(2)查看系统进程 ps

1)ps (process status):查看当前系统进程执行情况,可以不加任何参数。

ps 【选项】

常用选项

-a:显示当前终端所有进程信息
-u:以用户格式显示进程信息
-x:显示后台进程运行的参数(通常 -aux 组合使用)
-ef:查看父进程(PPID 为父进程 ID)

例:

ps -ef  | more     (分页查看子进程、父进程)
ps -aux | grep sshd  (过滤,查看sshd服务)
ps -aux | more     (分页查看)
显示内容:
用户名称 进程ID CPU占有率 内存占有率 占虚拟内存大小 占物理内存大小 终端名称 进程状态 进程启动时间 使用CPU时间 启动进程所用的命令和参数

说明(STAT 进程状态):

S — 睡眠
s — 表示该进程是会话的先导进程
N — 表示进程拥有比普通优先级更低的优先级
R — 正在运行
D — 短期等待
Z — 僵死进程
T — 被跟踪或者被停止…

【Linux 系列笔记】19 进程管理 和 服务管理_第1张图片
2)pstree (process status):查看进程树,更加直观。

pstree 【选项】

常用选项

-p:显示进程的 PID
-u:显示进程的所属用户

(3)终止进程 kill

1)kill:结束进程(通过进程 ID 号)。

kill [选项} 进程号

常用选项

-9:强迫进程终止

例(如下图):

kill 3945   踢掉 Tom 用户
kill 2501   关掉远程服务(sshd),不能远程登录 Linux

在这里插入图片描述

2)killall:结束进程(通过进程名称)。

killall 进程名


2. 服务管理

  服务本质就是一个进程,但都是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如mysql、sshd、防火墙等,因此又称之为守护进程

(1)服务管理(临时)

1)service(CentOS 6)/ systemctl(CentOS 7):服务管理(指令虽然不一样,但用法是差不多的)(临时生效)。

service 服务名 [start | stop | restart | reload | status](启动、停止、重启、重载、状态)
systemctl [start | stop | restart | reload | status] 服务名

例:

service iptables status(查看防火墙状态,CentOS 7 改成了 firewalld —> systemctl status firewalld)

扩展:
telnet:在 Windows 命令窗口下,你可以输入下面指令,查看对方是否开启了某个端口(如果显示无 telnet 指令,直接左下角搜索 “启用或关闭Windows功能” — “Telnet Client”打对勾)。

telnet ip 端口号
例:telnet Linux ip地址 22(查看 Linux 22 端口是否开启)

(2)查看服务

  • 方式一:使用 setup 指令 —> 系统服务(按空格可以选中或取消,Tab 键可以切换按钮)

    setup

  • 方式二:在目录 /etc/init.d/ 下查看服务名

    ls -l /etc/init.d/

(3)服务的运行级别

运行级别在之前的博文已经讲得很细致了,可以跳转此链接阅读:CentOS 6 与 CentOS 7 运行级别详解

开机流程说明

开机 ——> BIOS ——> /boot ——> init 进程1 ——> 运行级别 ——> 运行级别对应的服务

(4)服务管理(永久)

每个服务在不同的运行级别下,自启动是不一样的,可以用 chkconfig 指令来设置。

chkconfig(CentOS 6):给每个服务的各个运行级别设置自启动/关闭

chkconfig --list
chkconfig --list | grep 服务名(过滤,查看想要的服务)
chkconfig 服务名 --list(同上,和grep 作用一样)

指定运行级别服务开启/关闭

chkconfig --level n(n为运行级别) 服务名 on / off


3. 动态监控进程和网络

(1)监控进程

top:top 与 ps 命令很相似,都用来显示正在执行的进程。top 与 ps 最大的不同之处在于 top 在执行一段时间可以更新正在运行的进程,类似于 Windows 的任务管理器。在 top 命令的交互模式当中可以执行的命令如下

top [选项]

常用选项:

-d 秒数:指定 top 命令每隔几秒更新,默认为 3s。
-i:使 top 不显示任何闲置或僵死进程
-p:通过指定监控进程 ID 仅监控某个进程状态

交互操作说明:

P:以 CPU 使用率排序
M:以内存的使用率排序
N:以 PID 排序
d:再输入更新时间,指定刷新频率
u:再输入用户名,可以查看指定用户进程
k:再输入 PID,可以终止指定进程
h:可以查看更多的交互操作指令
q:退出 top

(2)监控网络情况

netstat:查看网络情况。

netstat [选项]
例:netstat -anp | more

常用选项:

-an:按一定顺序排列输出
-p:显示哪个进程在调用

你可能感兴趣的:(#,linux,shell)