linux学习笔记 进程

本文介绍了计算机硬件资源如CPU、内存和I/O的管理,进程间资源竞争和内核分配,展示了如何通过ps、top和lsof命令查看、控制进程,以及kill信号的使用。还涵盖了线程的概念和Linux中查看线程的方法。
摘要由CSDN通过智能技术生成

计算机的硬件资源主要有三种:CPU、内存和I/O。进程之间为了获得这些资源相互竞争,内核负责公平的分配资源,进程通过内核来创建新的进程,并且和其它的进程进行通信。

如何查看进程

使用ps命令查看进程

可以使用ps命令查看系统中运行的进程,每一个进程都有一个数字ID,叫做进程ID,(Process ID,简称PID)。使用ps命令列出所有正在运行的进程:

$ ps
PID TTY      STAT   TIME COMMAND
1622 tty1     Ssl+   0:03 /usr/bin/X :0 -background none ···
3528 pts/0    Ss     0:00 -bash

每行的字段代表的内容

PID:进程ID

TTY:进程所在的终端设备

STAT:进程状态,进程在内存中的状态。

TIME:进程目前为止所用的CPU时长

COMMAND:命令名

  • 常用的选项:
    • ps x 当前用户运行的所有进程
    • ps ax 系统当前运行的所有进程,包括其它用户的进程。
    • ps u 显示更详细的进程信息
    • ps w 显示命令的全名

通过top命令实时查看当前的进程

ps命令可以显示出当前运行的进程,但是无法提供进程随时间的变化情况。top命令可以显示系统的当前状态,并且将当前系统中最活跃的进程显示在最上方。

可以使用键盘向top发送名,比较常用的键盘命令:

空格键 立即更新显示的内容
M     按照当前的内存使用量排序
T     按照CPU的累计使用量排序
P     按照当前CPU使用量排序
u     仅显示某位用户的进程

使用命令top -p <pid>显示某一具体的进程信息

lsof命令

lsof命令可以列出打开的文件以及使用他们的进程。

lsof命令有两种基本的使用方式

  • 使用lsof命令列出完整的结果,然后使用管道符进行过滤。

  • 添加命令行选项来过滤lsof命令的输出结果。

    • 使用文件名作为参数,例如:

      lsof /usr
      
    • 使用PID列出打开的文件

      lspf -p <PID>
      

如何终止进程

要终止一个进程,可以使用kill命令向其发送一个信号,请求内核向该进程发送一个信号,可以执行一下命令:

kill <pid>

信号的种类有很多(可以使用kill -l查看所有的kill信号),默认的是TERM,可以发送不同的信号给该进程。例如,发送STOP信号可以让进程暂停,而不是终止:

kill -STOP <pid>

被暂停的进程会继续驻留在内存,可以使用CONT信号继续执行该进程。

kill -CONT <pid>

也可以使用CTRL+C来终止当前运行的进程,效果和kill -INT命令一样。

终止一个进程可以直接使用-kill信号,kill信号会强行终止该进程,不给进程清理和收尾的机会,不到万不得已不要使用该信号。也可以使用数字来代替信号名,kill -9等同于kill -kill

如何进行任务的控制

可以使用CTRL+Z发送TSTP信号来停止进程,该进程会在后台处于暂停状态。

可以使用jobs命令查看当前暂停了那些进程,可以使用fg将进程置于前台终端,或者bg后台继续运行该进程。

后台进程

在shell上运行命令时,命令提示符会短暂消失,当命令结束时又会重新显示,可以使用&符号将该进程设置为后台运行,这样命令提示符就会一直显示。在运行该进程的时候,也可以执行其它的操作。

<命令> &

线程

一些进程被细分为更小的部分,将其称之为线程,线程和进程相类似,线程的标识符为TID。进程之间不共享内存和I/O这种系统资源,而同一个进程中的所有线程共享该进程占用的系统资源和一些内存。

很多进程只有一个线程,称为单线程进程。超过一个线程的叫做多线程进程。

Linux中查看某个进程的线程

  • ps -T -p <pid>

  • top -H -p <pid>

    top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值