关于linux:linux-进程基础知识

1次阅读

共计 1069 个字符,预计需要花费 3 分钟才能阅读完成。

1:查找过程 id

pidof 命令

find the process ID of a running program.

$ pidof php-fpm
2847 2846 2845 2844 2843 2756

2: 查找以后 shell 的过程 id 和父过程 id

别离对应 “echo $$” 和 “echo $PID”

$ echo $$
6363
$ echo $PPID
6362

3:Ctrl+z

Ctrl+ z 示意中断以后过程并且将过程挂起

当过程别挂起后,此时过程状态将扭转为 T(stopped),

通过 jobs 命令能够查看到以后被挂起的过程。

在 jobs 命令中的过程,能够通过 fb(前台运行)或者 bg(后盾运行)来从新唤起该过程

ps: 在 vim 等场景中常常通过 Ctrl+ z 去挂起 vim 来执行其余程序

4:过程状态

  • R (TASK_RUNNING) 包含正在运行或者筹备运行 (正在期待调配 cpu 单元) 的过程
  • S (TASK_INTERRUPTIBLE),可中断的睡眠状态,操作系统中大部分过程其实都是处于该状态
  • D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态。不可中断指过程不响应异步信号。大多数状况下,过程解决睡眠状态都是能够响应异步信号的,否则,当应用 kill - 9 杀过程的时候会发现不能 kill 掉过程
  • T (TASK_STOPPED) stopped by job control signal 过程执行终止 (应用 Ctrl+ z 中断过程后过程就会进入 TASK_STOPPED 状态)
  • t (TASK_STOPPED)状态 stopped by debugger during the tracing 个别是过程因为调试暂停
  • Z (TASK_DEAD – EXIT_ZOMBIE) 失常状况下,父过程能够通过 wait 系列的零碎(如 wait4、waitid)回收子过程。当回收出现异常的状况,就会呈现 Z 状态 (僵尸过程 孤儿过程)
  • X (TASK_DEAD – EXIT_DEAD) 退出状态,过程行将被销毁
# 在 ps 命令中过程状态前面的附件含意
< 高优先级
N 低优先级
L 有些页被锁进内存
s 蕴含子过程
+ 前台过程有 没有过程没有
l 多线程,克隆线程

5: Ps 命令(Process Status)

$ ps -aux 
  • USER 启动过程的用户
  • PID 过程 id
  • %CPU 过程占用 cpu 百分比
  • %MEM 过程占用内存百分比
  • VSZ 虚拟内存使用量 kb
  • RSS 理论内存使用量 kb
  • TTY 终端设备
  • STAT 过程状态
  • START 过程被启动工夫
  • TIME 过程累计耗费 cpu 工夫
  • COMMAND 启动过程名称
$ ps -ef
  • UID 同上 USER
  • PID 同上
  • PPID 父过程 id
  • C 过程 cpu 利用率
  • STIME 过程启动工夫
  • TTY 同上
  • TIME 同上
  • CMD 同上
正文完
 0