生产环境之“进程”两字

一、进程概念

运行中的程序的一个副本,是被载入内存的一个指令集合 进程ID(Process ID,PID)号码被用来标记各个进程UID、GID、和SELinux语境决定对文件系统的存取和访问权限,通常从执行进程的用户来继承 存在生命周期。

二、进程状态

1)运行状态:running

2)就绪状态:ready

3)睡眠可中断

4)睡眠不可中断

5)停止状态 stopped 6)僵死状态 zombie

三、进程管理命令

Linux系统状态的查看及管理工具:pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup

Linux系统各进程的相关信息均保存在/proc/PID目录下 的各文件中

pstree命令:

pstree - display a tree of processes

ps命令:

ps - report a snapshot of the current processes

ps [OPTION]...

-e:显示所有进程和-a等同

-a:显示所有进程和-e等同

-f:选项显示其进程的父进程

-u:选项显示所有者信息

-x:包括不链接终端的进程

-o:指定属性进行显示:pid,comm,%cpu,%mem,state,tty,euser(effective user),ruser(real user)

VSZ:Virtual Memory Size,虚拟内存集

RSS:常驻内存集(物理内存集)

stat状态:

R:running

S:interruptable sleeping

D:uninterruptable sleeping

T:stopped

Z:zombie

常用组合:-ef

-e: 显示所有进程

-f: 显示完整格式程序信息

常用组合:-eFH

-F: 显示更完整格式的进程信息

-H: 以进程层级格式显示进程相关信息

常用组合:自定义 -eo pid,tid,class,rtprio,ni,pri,psr, pcpu,stat,comm axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid, pid,pcpu,comm

ni:nice值 pri:priority,优先级 psr:processor,cpu编号

rtprio:实时优先级

pgrep命令:

pgrep [options] pattern

选项:

-u:uid,进程的生效者

-U:real user,真正发起运行命令者

-t:terminal,与终端相关的进程

-l: 显示进程名

-a:显示完整格式的进程名

-P:pid,显示指定进程的子进程

按确切的程序名称:/sbin/pidof pidof bash

三、进程管理工具

top:

htop:

栏目信息:

us:user

space:用户空间

sy:内核空间

ni:nice值

wa:等待I0时间

id:空闲

hi:硬中断

si:软中断

st: stolen 虚拟机偷走的时间

进程相关参数说明:

PID:任务的进程号

PPID:进程的父进程的进程号

RUSER:进程的所有者

EUSER:进程的生效用户

TTY:终端

PR:优先级

%CPU:CPU的占有率

%MEM:内存的占有率

S:进程状态

TIME+:CPU工作时间

top:有许多进程内置命令

1)排序

P:以占据的cpu的百分比,%cpu

M:占据内存的百分比,%MEM

T:累积占据cpu时长time

2)首部信息

uptime信息:l命令

tasks及cpu信息:t命令

memory信息:m命令

3)退出命令:q

修改刷新时间:s

终止指定进程:k

保存文件:W

kill命令:向进程发送进程控制信号,以实现对进程管理。

1)SIGHUB:无需关闭进程,而让其重读配置文件

2)SIGINT: 中止正在运行中的进程

9)SIGKILL: 杀死正在运行的进程

15)SIGTEM: 中止正在运行的进程,让其运行完,再次杀死

18)SIGCONT: 继续运行

19)SIGSTOP: 后台休眠

指定信号的方法:

(1) 信号的数字标识;1, 2, 9

(2) 信号完整名称;SIGHUP

(3) 信号的简写名称;HUP

杀死进程的方法:

按PID:kill [-SIGNAL] pid...

按名称:killall [-SIGNAL] COMM

按模式:pkill [options] pattern

-SIGNAL

-u uid:effective user 生效者

-t:terminal:与指定终端相关的进程

-l:显示进程名

-a:显示完整格式的进程名

-P:pid 显示父进程为此处指定的进程的 进程列表

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2016-12-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏dotnet & java

这可能是最low的发布dotnet core站点到centos7教程

不得不说:我在chrome上写了好长一段,贴了23张图,然后一个crash。。我想说我电脑上的chrome已经crash太多次了 以后一定要搞离线编辑的。

923
来自专栏Java3y

Linux用户和权限管理看了你就会用啦

没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了。这篇主要将Linux下的用户和权限知识点再整理一下。

3.1K1
来自专栏慎独

如何在Github上给别人的项目贡献代码

1404
来自专栏云计算教程系列

Nano文本编辑器使用教程

nano是Unix和类Unix系统中的一个文本编辑器,是Pico的复制品(clone)。nano的目标是类似Pico的全功能但又易于使用的编辑器。nano是遵守...

1842
来自专栏云计算教程系列

如何在CentOS 7上使用OTRS设置帮助台系统

OTRS是一个开源的票证请求系统。它为用户,客户,IT人员,IT服务和任何外部组织提供单点联系。该程序是用Perl编写的,支持各种数据库(MySQL,Postg...

9324
来自专栏流柯技术学院

LR常见问题整理

  当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。

4704
来自专栏FreeBuf

闲聊Windows系统日志

最近遇到不少应急都提出一个需求,能不能溯源啊?这个事还真不好干,你把证据,犯案时间都确定的时候,要求翻看监控(日志)对应犯罪嫌疑人时,突然说监控(日志)没有记录...

1.1K0
来自专栏程序员叨叨叨

【9】全民博客时代的到来——20分钟简要教程

很久以前就想搭建一个个人技术博客的网站了,但是那时候接触的东西不多,没有听说过hexo、jekyll、wordpress等快速blog生成工具,自己在网上找了博...

1323
来自专栏分享达人秀

安装Android模拟器,准备开发

完成以上所有步骤(JDK、ADT Bundle、SDK),那么就可以开始进行Android开发了。 Android程序必须运行在Android系...

1.7K7
来自专栏Seebug漏洞平台

Hacking Aria2 RPC Daemon

Author:ricterz ABSTRACT 在未设置任何安全措施的情况下,Aria2 RPC Server 可以接受任何未知来源的请求指令,并予以下载。即使...

6225

扫码关注云+社区

领取腾讯云代金券