共计 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 同上
正文完