每天学点Linux(一)系统进程

今天的主角是我们系统的进程。本文主要参考的文章如下:

Linux进程作业的查看和杀死
Linux中ctrl+z 、ctrl+c、 ctrl+d区别
Linux操作系统下运行命令时Ctrl+C和Ctrl+Z的作用及恢复

今天我们要学习的是“进程”,学习的目的是为了查看、管理进程,以及进程的状态。掌握一些管理基本的指令。

进程是什么?

进程(process)是对某个数据集合进行的一次活动。简单介绍一下几个进程相关的术语
- 进程控制块(PCB)
系统为了管理进程而专门定义的数据结构,系统可以通过这个数据结构“感知”进程运行状态。

  • 进程上下文
    进程是一段段指令,执行指令的结果是对一些寄存器、堆栈状态进行改变。执行进程与否+寄存器和堆栈状态称为进程的阶段。上文是执行过得,正文是正在执行的,下文是将要执行的进程。

指多任务系统中,CPU的控制权由运行任务,转移到另外一个就绪任务时所发生的事件;当前运行任务转为就绪(或者挂起、删除)状态,另一个被选定的就绪任务成为当前任务。

所以和进程一起出现的的兄弟线程是什么鬼?

线程(thread)伴随进程创建伴随出现的(主线程),可以访问这个进程所有资源。线程的优点:

  • 进程至少拥有一个线程
  • 线程的划分尺度小于进程,使得多线程程序的并发性高
  • 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

静态看看这些进程?

ps

查看这个静态进程。

经常用的ps命令是:

ps aux

参数含义如下:

参数 含义
a 显示当前终端启动的进程
u 显示用户为主的进程信息
x 显示所有进程信息
-e 显示系统内的所有进程信息
-l 使用长格式显示进程信息
-f 使用完整的格式显示进程信息
anonymousdeMBP:Desktop anonymous$:ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

COMMAND:命令的名称和参数

动态看看这些进程

anonymousdeMBP:top

树形显示一下进程

anonymousdeMBP:pstree

需要安装。这里就不试了。

启动一个进程

只需要将目录切换到应用程序所在文件夹

./exe

此时的进程是在前台运行的,可以在运行的时候直接将程序放在后台运行

./exe&

对于进程的一些处理操作

ctrl+c 完全终止进程
ctrl+z 强制当前进程转为后台,并使之挂起(暂停).
ctrl+l 等于敲clear(这不是进程处理操作)

  • CTRL+Z挂起进程并放入后台
  • jobs 显示当前暂停的进程
  • bg %N 使第N个任务在后台运行(%前有空格)
  • fg %N 使第N个任务在前台运行
      默认bg,fg不带%N时表示对最后一个进程操作!

杀死进程

kill –信号代码 PID
信号代码 符号 含义
2 SIGINT ctrl+c
9 SIGKILL 强制终止
15 SIGTREM 请求终止
20 SIGTSTP ctrl+c

kill和killall的区别:

kill 后面写进程ID,不能写进程名
killall 后面写进程名,不能写进程ID,会将相同名字的进程一起杀死

pkill命令:根据“特定条件”终止相应的进程

-u:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程

猜你喜欢

转载自blog.csdn.net/weixin_39258979/article/details/80808428
今日推荐