前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell -- 进程管理系列命令浅析

shell -- 进程管理系列命令浅析

作者头像
邹志全
发布2019-07-31 11:23:59
5610
发布2019-07-31 11:23:59
举报
文章被收录于专栏:EffectiveCodingEffectiveCoding

linux 常用的命令工具非常多,除了cd、ls、mkdir、cp、mv这些非常常用和简单的命令,这里对于开发和排查问题过程中进程相关常用的几个命令进行介绍

ps 是查看进程状态的一个命令,类似的还有top等,具体来说:

查看类命令:

ps,pstree,pidof,pgrep\pkill,top,htop,glances,dstat,vmstat,pmap

管理类命令:

bg,fg,jobs,kill,killall,nohup,nice,renice

先看ps,常用参数:

-A :所有的进程均显示出来,与 -e 具有同样的效用;

-a : 显示现行终端机下的所有进程,包括其他用户的进程;

-u :以用户为主的进程状态 ;

x :通常与 a 这个参数一起使用,可列出较完整信息。

输出格式:

l :较长、较详细的将该PID 的的信息列出;

j :工作的格式 (jobs format)

-f :做一个更为完整的输出。

下面来看一下demo 和示例

image.png

然后看一下各个详细信息的示例:

F 代表这个程序的旗标 (flag), 4 代表使用者为 superuser;

S 代表这个程序的状态 (STAT);

UID 代表执行者身份

PID 进程的ID号!

PPID 父进程的ID;

C CPU使用的资源百分比

PRI指进程的执行优先权(Priority的简写),其值越小越早被执行;

NI 这个进程的nice值,其表示进程可被执行的优先级的修正数值。

ADDR 这个是内核函数,指出该程序在内存的那个部分。如果是个执行 的程序,一般就是『 - 』

SZ 使用掉的内存大小;

WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;

TTY 登入者的终端机位置;

TIME 使用掉的 CPU 时间。

CMD 所下达的指令名称

STAT:

R 运行状态;running or runnable (on run queue)

S 可中断睡眠态; interruptible sleep (waiting for an event to complete)

D 不可终端睡眠态; uninterruptible sleep (usually IO)

t 在跟踪期间被停止;stopped by debugger during the tracing

T 停止进程控制信号;stopped by job control signal

X 死进程; dead (should never be seen)

Z 僵尸进程; defunct ("zombie") process, terminated but not reaped by its parent

< 高优先级; high-priority (not nice to other users)

N 低优先级; low-priority (nice to other users)

L 页面是否锁进内存中;has pages locked into memory (for real-time and custom IO)

s 会话领导; is a session leader

l 多线程;is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

  • 前进程组; is in the foreground process group

列出我们想要的进程之后,通常下一步就是进行操作了,最常用的就是kill了

kill命令的格式:kill [-s signal|-p] [--] pid...

当在一个linux操作系统上想执行kill 时,需要先看一下当前系统支持哪些信号量(kill -l),比如说我的电脑:

image.png

常用的信号:

  1. SIGHUP: 无需关闭对应进程而直接让其重新读取其自身的配置文件;
  2. SIGINT:终止运行于前台的进程,使用Ctrl+c组合键,可以发送此信号;
  3. SIGKILL: 没有任何预兆终止正在运行的进程,进程所有占用的资源都不会被立即回收;
  4. SIGTERM:kill命令默认发送的信号;终止进程的运行,
  5. SIGCONT:让转入后台的进程在后台继续运行;
  6. SIGSTOP:让转入后台的进程在后台停止运行;

然后就可以使用 kill -方式 pid 来杀死进程了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.07.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档