Linux进程管理笔记

进程:

进程(process)是指在Linux系统中正在执行的程序,是程序正在运行的一个实例。它由程序指令,和从文件、其它程序中读取的数据或系统用户的输入组成。

在 Linux 中主要有两种类型的进程:

  • 前台进程:也称为交互式进程,由终端会话初始化和控制,需要由连接到系统的用户启动,不能作为系统功能或服务而自动启动.
  • 后台进程:也称为非交互式/自动进程,不用链接到终端,不用用户启动,开机自动启动.

创建方式:fork()、system()、exec()

查看进程

静态查看

PS命令

[root@manman ~]# ps aux
ps :process snapashot
a 只能查看系统里面运行的所有终端进程
u 显示进程拥有者
x 显示系统内所有进程
f 显示进程之间的父子关系
USER: 	#运行进程的用户
PID:   #进程ID
%CPU:   #CPU占用率
%MEM:   #内存占用率
VSZ	    #进程占用的虚拟内存大小
RSS     #占用的物理内存大小
STAT:  #进程状态  ---了解
?       #表示没有占用终端
R 	    #运行
S    	#可中断睡眠 Sleep
D	    #不可中断睡眠
T 	    #停止的进程 
Z 	    #僵尸进程
X       #死掉的进程
START:	#进程的启动时间
TIME:	#进程占用CPU的总时间
COMMAND: #进程文件,进程名
[root@manman ~]# ps -ef
参数解释:
-e 显示所有进程
-l 长格式显示
-f 完整格式
UID       用户ID
PID       进程ID
PPID      父进程ID
C         CPU占用率
STIME     开始时间
TTY       开始此进程的TTY----终端设备
TIME      此进程运行的总时间
CMD       命令名

进程状态:

Sl 以线程的方式运行
Ss s进程的领导者,父进程
R+ +表示是前台的进程组 S< <优先级较高的进程
SN N优先级较低的进程
S+:休眠状态
T+:暂停,挂起状态
s:父进程

查看tty的方法:
[root@manman ~]# tty
? 表示这个进程开启的时候没有占用终端

查看单个指定PID
在这里插入图片描述
查看端口

[root@manman ~]# yum -y install lsof  #安装软件包
[root@manman ~]# lsof -i:21  #端口号,这能查看带端口的进程
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
vsftpd  988 root    4u  IPv6  21348      0t0  TCP *:ftp (LISTEN)

查网络进程和正在监听的端口

[root@manman ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:57167           0.0.0.0:*               LISTEN      987/rpc.statd       
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      698/rpcbind         
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      989/rpc.mountd      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      972/sshd            
-----------------------------------------------------------------------------------------------
参数详解:
-a  显示全部的进程
-u  显示udp
-n  以数字的形式显示协议名称
-t  tcp
-p:显示进程的名称和pid
-l :只显示正在被监听的端口

查看httpd占用的端口号     netstat -tnlp|grep httpd
查看某个端口号下面的进程    netstat -tnlp|grep 22
[root@manman ~]# w    #查看已经登陆到终端的进程信息,远程登陆会有ip 地址
 11:36:54 up  1:28,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.88.1     11:10    6.00s  0.03s  0.00s w

动态查看

top、htop

[root@manman ~]# top    ##动态显示信息,三秒刷新一次。
Tasks: 136 total,   1 running, 135 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  1.5 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1863032 total,  1548144 free,   185576 used,   129312 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1533140 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                
  1112 root      20   0  161832   6504   4772 S   0.5  0.3   0:02.76 sshd   

在工作中必须监控的东西 load average(平均负载)等待cpu处理的队列长度 也是个数。
1分钟 第一个数字
5分钟 第二个数字
15分钟 第三个数字
======================
计算cpu负载:load average的三个值: 0.10, 0.16, 0.12,分别除cpu的个数,得出的值,如果值大于1那么那时候的负载高。

进程控制

kill,pkill
语法:
kill 信号 PID #信号也是进程间通信的一种方式
pkill 信号 进程名 #使用pkill可以指定进程名字
[root@manman ~]# kill -l #查看所有信号
-1 HUP 重新加载进程或者重新加载配置文件,PID不变
-9 KILL 强制杀死
-15 TERM 正常杀死(这个信号可以默认不写)
-18 CONT 激活进程
-19 STOP 挂起进程

作业控制

作业控制指的是控制正在运行的进程的行为。比如,用户可以挂起一个进程或者放到后台去运行,等一会儿再继续执行该进程。
实战

[root@manman~]# sleep 7000 &   #&:让命令或者程序后台运行
[1] 5441
[root@manman ~]# sleep 8000    #ctrl+z 把程序放到后台(这方法会让程序在后台暂停)
^Z
[2]+  Stopped                 sleep 8000

[root@manman ~]# jobs  #查看后台的工作号
[1]-  Running                 sleep 7000 &
[2]+  Stopped                 sleep 8000
[root@manman ~]# bg %2  #让暂停的程序在后台运行,%是用来修饰job number,2就是job number。(程序的工作号)
[2]+ sleep 8000 &
[root@manman ~]# jobs 
[1]-  Running                 sleep 7000 &
[2]+  Running                 sleep 8000 &

[root@manman ~]# fg %1  #将后台的程序调到前台
sleep 7000

[root@manman ~]# jobs 
[2]+  Running                 sleep 8000 &
[root@manman ~]# kill -9 %2  #通过kill杀死进程
[root@manman ~]# jobs 
[2]+  Killed                  sleep 8000
[root@manman ~]# jobs #在次查看没有了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值