linux——进程管理1

进程的定义

进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。

进程的状态

1. Linux进程状态:R (TASK_RUNNING),可执行状态&运行状态(在run_queue队列里的状态)

2. Linux进程状态:S (TASK_INTERRUPTIBLE),可中断的睡眠状态, 可处理signal

3. Linux进程状态:T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态,不可处理signal,因为根本没有时间片运行代码

4. Linux进程状态:Z (TASK_DEAD - EXIT_ZOMBIE),退出状态,进程成为僵尸进程。不可被kill,即不响应任务信号,无法用SIGKILL杀死

进程的管理

进程的启动

  • 前台启动
  • 后台启动:后台启动的进程启动后不需要与输入输出进行交互

后台启动要在命令后面加&

实例:

##前台启动一个vim
vim test
##后台启动
vim test&

进程监视命令

命令 功能
ps 报告进程的相关信息
top 实时的方式报告进程的相关信息
patree 显示进程家族树的信息
lsof 列出由某进程所打开的文件

ps命令

功能:报告进程的相关信息。

格式:ps [选项]

常用选项:

  • -A 显示所有进程,同-e
  • -a 显示当前终端的所有进程,包括其他用户的进程信息
  • -l 长格式显示进程信息(有F,wchan,C 等字段)
  • -u uid or username 按照有效的用户id或者是用户名来显示进程信息(包含用户信息)
  • -g 按照gid or groupname 显示所有进程信息。
  • -r 显示正在运行的进程
  • -x 显示没有控制终端的(即后台运行的)进程。
  • -t 终端号 显示指定终端上的进程信息。
  • -f 全部列出进程的信息,通常和其他选项联用。如:ps –fa、 ps -fx 、ps -ef.

ps命令的常用用法:

  1. ps  -l   显示当前进程的详细信息
  2. ps  -ef  显示所有进程的全面信息

实例:

vim &    //启动vim进程、并且在后台进行

ps  -ls    //显示当前终端的所有进程的详细信息

linux——进程管理1_第1张图片

  •  F   进程标志
  • S   进程的状态
  • UID   执行该进程的用户的ID
  • PID   进程的ID号
  • PPID   父进程的ID号
  • C   %CPU   CPU的使用率
  • PRI   进程的优先级(越小优先级高)
  • NI   进程的谦让度(谦让度越小进程越迫切)
  • CMD  启动进程的命令

top命令

功能:实时的方式报告进程的相关信息。

格式:top [选项]

常用选项:

  • -d 10   设定刷新进程信息的间隔时间(秒)

linux——进程管理1_第2张图片

 可以在这个界面输入K,来删除进程。

 可以在这个界面输入U,来监视指定用户。

退出top命令q或者Esc。


pstree命令

功能:显示进程家族树的信息。

格式:pstree [选项]  [进程PID/用户名]

常用选项:

  • -p  显示每个进程的PID号
  • -u 用户名  指定只显示属于该用户的进程

linux——进程管理1_第3张图片


lsof命令

功能:列出由某进程所打开的文件。

格式:lsof [选项]  [文件或目录路径]

常用选项:

  • -p PID  列出由该进程所打开的所有文件
  • -u 用户名  列出某用户打开的所有文件

linux——进程管理1_第4张图片

 

你可能感兴趣的:(笔记,linux)