进程管理

进程管理
进程和线程图形简单解释
进程和线程管理
VIM编辑
Linux 系统资源信息的获取
获取 Linux CPU 信息
软件包管理
oh-my-zsh
电脑上的容量和速度

进程和线程:

  1. 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
  2. 进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。
  3. 通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
  4. 线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间

线程与进程的区别归纳:

a.地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
b.通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
c.调度和切换:线程上下文切换比进程上下文切换要快得多。
d.在多线程OS中,进程不是一个可执行的实体。

ps查看进程(静态)

ps aux 查看所有的进程信息

image.png

ps aux 输出各字段意义:
USER: 该 process 属于那个使用者帐号的?
PID : 该 process 的程序识别码。
%CPU: 该 process 使用掉的 CPU 资源百分比;
%MEM: 该 process 所占用的实体内存百分比;
VSZ : 该 process 使用掉的虚拟内存量 (KBytes)
RSS : 该 process 占用的固定的内存量 (KBytes)
TTY : 该 process 是在那个终端机上面运行,若与终端机无关则显示 ?,另外, tty1-tty6 是本机上面的登陆者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT: 该程序目前的状态,状态显示与 ps -l 的 S 旗标相同 (R/S/T/Z)
START: 该 process 被触发启动的时间;
TIME : 该 process 实际使用 CPU 运行的时间。
COMMAND:该程序的实际指令为何?

S:代表这个程序的状态 (STAT),主要的状态有:
========================================
R (Running):该程序正在运行中;
S (Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。
D :不可被唤醒的睡眠状态,通常这支程序可能在等待 I/O 的情况(ex>打印)
T :停止状态(stop),可能是在 jobs 控制(后台暂停)
Z (Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。
========================================

ps 相关应用:

[root@localhost ~]# ps -ef |grep bash
root       1214    679  0 22:01 tty1     00:00:00 -bash
root       1937   1924  0 23:42 pts/0    00:00:00 -bash
root       1956   1937  0 23:45 pts/0    00:00:00 grep --color=auto bash
当前进程号:
[root@localhost ~]# echo $$
1937

两台终端:
[root@localhost ~]# ps -ef |grep cat
root       2021   2005  0 23:51 pts/0    00:00:00 cat
root       2024   1966  0 23:51 pts/1    00:00:00 grep --color=auto cat
[root@localhost ~]# kill -9 2021

[root@localhost ~]# cat
Killed

管道:
[root@localhost ~]# echo "hello oyzx" |cut -d' ' -f1
hello

正则表达式:
[root@localhost ~]# echo "cat"|grep [cd]at
cat
[root@localhost ~]# echo "dat"|grep [cd]at
dat
[root@localhost ~]# ps aux |grep [v]im
root       3131  0.1  0.5 151512  5364 pts/3    S+   03:28   0:00 vim a.txt
[root@localhost ~]# kill -19 3131
=============================
lfsjdfhsldfhsj:wq
adfasdf
[1]+  Stopped                 vim a.txt
[root@localhost log]#  jobs
[1]+  Stopped                 vim a.txt

top动态查看进程(动态)

  • top -d 5 //5秒自动刷新查看cpu使用情况


    image.png
  • top -n 1 //截取1s进程状态


    image.png

signal信息量:

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 学习进程管理的原因(~就是要学会解决下面的👇问题啊~)在当整个系统资源快要被使用光时,能够找出最耗系统的那个进程,...
    熊猫人和熊猫猫阅读 735评论 0 2
  • 2.1进程的基本概念 一、程序顺序执行时的特征 (一)、顺序性:处理机的操作严格按程序规定顺序执行 (二)、封闭性...
    山隹金易锡阅读 2,705评论 0 2
  • 2.1进程的基本概念 1.程序顺序执行时的特征: (1)顺序性 处理机的操作严格按程序规定顺序执行。 (2) ...
    Whocare_2f87阅读 1,134评论 0 0
  • 实验目的 加深对进程概念的理解,明确进程和程序的区别。 掌握Linux系统中的进程创建,管理和删除等操作。 熟悉使...
    Yolanda_gxy阅读 1,880评论 0 0
  • 最近有一部综艺叫《真正男子汉》,看完我发现这真是一部相当走心的综艺。 这档节目主要是讲八位明星的军旅生活,要知道明...
    微光222阅读 392评论 16 2

友情链接更多精彩内容