linux 进程-基础知识
Posted tim_xiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 进程-基础知识相关的知识,希望对你有一定的参考价值。
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 同上
以上是关于linux 进程-基础知识的主要内容,如果未能解决你的问题,请参考以下文章