Linux--进程管理

什么是进程

进程是已启动的可执行程序的运行实例,进程有以下组成部分:
• 已分配内存的地址空间;
• 安全属性,包括所有权凭据和特权;
• 程序代码的一个或多个执行线程;
• 进程状态。
程序: 二进制文件,静态 /usr/bin/passwd ,/usr/sbin/useradd
进程: 是程序运行的过程, 动态,有生命周期及运行状态。
进程的生命周期(了解)

父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。
每个新进程分配一个,唯一的进程 ID (PID),满足跟踪安全性之需。
任何进程都可以创建子进程。
所有进程都是第一个系统进程的后代:
Centos5/6系统进程: init
Centos7系统进程: systemd

静态查看进程 ps

命令参数说明
ps a 显示现行终端机下的所有程序
ps u 以用户为主的格式来显示程序状况。
ps x 不以终端机来区分。
ps aux 输出的字段含义
USER: 运行进程的用户
PID: 进程ID
%CPU: CPU占用率
%MEM: 内存占用率
VSZ: 占用虚拟内存
RSS: 占用实际内存
TTY: 进程运行的终端
STAT: 进程状态
[常见]
R 运行
S 睡眠 Sleep
T 停止的进程
Z 僵尸进程
X 死掉的进程
START: 进程的启动时间
TIME: 进程占用CPU的总时间
COMMAND: 进程文件,进程名
进程排序
语法
ps aux --sort %cpu
示例
以CPU占比降序排列(减号是降序)

[root@lili ~]# ps aux --sort -%cpu
[root@lili ~]# ps aux --sort %cpu

进程的父子关系
语法
ps -ef
示例
查看进程的父子关系。 请观察PID和PPID

[root@lili ~]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 122 ?       00:00:07 /usr/lib/systemd/systemd 
root          2      0  0 122 ?       00:00:00 [kthreadd]
root          3      2  0 122 ?       00:00:06 [ksoftirqd/0]

义显示字段(了解)
语法
ps axo
示例

[root@lili ~]# ps axo user,pid,ppid,%mem,command |head -3 
root 8310 1 0.1 /usr/sbin/httpd
apache 8311 8310 0.0 /usr/sbin/httpd
apache 8312 8310 0.0 /usr/sbin/httpd

动态查看进程 top

动态查看进程 top,像windows的任务管理器
[root@lili ~]# top //回车,立刻刷新。按z彩色显示,按F,通过光标设置列的顺序。

[root@lili ~]# top -d 1   //每1秒刷新。
[root@lili ~]# top -d 1 -p 10126 查看指定进程的动态信息
[root@lili ~]# top -d 1 -p 10126,1    查看10126和1号进程

作业控制 jobs(了解)
简介
作业控制是一个命令行功能,也叫后台运行。
关键词介绍
foreground
前台进程:是在终端中运行的命令,占领终端。
background
后台进程:没有控制终端,它不需要终端的交互。看不见,但是在运行。
后台程序控制示例
1.观察占领前台的现象
[root@lili ~]# sleep 2000
运行一个程序,当前终端无法输入。观察占领前台的现象。
大部分命令行输入已经无效。
2.运行后台程序

[root@lili ~]# sleep 3000 &

3.ps查询所有程序。

 [root@lili ~]# ps aux |grep sleep
   root 8895 0.0 0.0 100900 556 pts/0 S 12:13 0:00 sleep 3000

4.jobs查看后台进程。

 [root@lili ~]# jobs
   [1]- Running sleep 3000 &

5.调动后台程序至前台。
[root@lili ~]# fg 1 //将作业1调回到前台
6.消灭后台进程

 [root@lili ~]# kill  %1

注意
注意,“kill 1” 和 “kill %1” 不同,
前者终止PID为1的进程,
后者杀死作业序号为1的后台程序。
总结
& 后台运行程序
jobs 查询后台
kill %1 停止后台进程

虚拟文件系统 proc

简介
虚拟文件系统:采集服务器自身 内核、进程运行的状态信息
CPU
/proc/cpuinfo

  [root@lili ~]# cat   /proc/cpuinfo

内存
/proc/meminfo

   [root@lili ~]# less /proc/meminfo

内核
/proc/cmdline

   [root@lili ~]# cat /proc/cmdline 
发布了7 篇原创文章 · 获赞 22 · 访问量 4297

猜你喜欢

转载自blog.csdn.net/m0_46400195/article/details/104584440