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 进程-基础知识的主要内容,如果未能解决你的问题,请参考以下文章

LINUX操作系统知识:进程与线程详解

Linux系统进程的知识总结,进程与线程之间的纠葛...

线程学习知识点总结

Linux bash基础特性二

linux c 退出进程的代码

linux c 退出进程的代码