07_进程管理

who

查看当前在线上的用户情况。所有的选项都是可选的,不使用任何选项时,who命令将
显示以下三项内容:

login name:登录用户名;
terminal line:使用终端设备;
login time:登录到系统的时间。

itcast@ubuntu:~/demo$ who -uH
名称 线路 时间 空闲 进程号 备注
itcast tty2 2014-08-14 13:31 . 6798
itcast tty7 2014-08-14 01:31 旧 2423
itcast pts/1 2014-08-14 01:31 12:00 2843 (:0)
itcast pts/3 2014-08-14 10:39 . 2843 (:0)

ps

ps [选项]

ps命令用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输
出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。

选项部分如下:

-e 显示所有进程。
-f 全格式。
-h 不显示标题。
-l 长格式。
-w 宽输出。
-r 只显示正在运行的进程。
-a:即all,查看当前系统所有用户的所有进程
-u:查看进程所有者及其他一些详细信息
-x:显示没有控制终端的进程
  • 这个命令参数有很多,但一般的用户只需掌握一些最常用的命令参数就可以了。 最常
    用的三个参数是u、a、x, 我们首先以root身份登录系统,查看当前进程状况
itcast@ubuntu:~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 3672 2008 ? Ss 08:46 0:01 /sbin/init
itcast@ubuntu:~$ ps ajx
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
4592 6948 6948 4592 pts/3 6948 R+ 1000 0:00 ps ajx
itcast@ubuntu:~$ ps -Lf 2423
UID PID PPID LWP C NLWP STIME TTY STAT TIME CMD
1000 2423 2282 2423 0 4 08:46 ? Ssl 0:00 gnome-session --session=ubuntu
1000 2423 2282 2465 0 4 08:46 ? Ssl 0:00 gnome-session --session=ubuntu
1000 2423 2282 2466 0 4 08:46 ? Ssl 0:00 gnome-session --session=ubuntu
1000 2423 2282 2468 0 4 08:46 ? Ssl 0:00 gnome-session --session=ubuntu
  • Head标头:
USER 用户名
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
R 运行 Runnable (on run queue) 正在运行或在运行队列中等待。
S 睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号。
I 空闲 Idle
Z 僵死 Zombie(a defunct process) 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。
D 不可中断 Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
T 停止 Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
P 等待交换页
W 无驻留页 has no resident pages 没有足够的记忆体分页可分配。
X 死掉的进程
< 高优先级进程 高优先序的进程
N 低优先 级进程 低优先序的进程
L 内存锁页 Lock 有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
+ 位于后台的进程组
START 进程启动时间和日期
TIME 进程使用的总cpu时间
COMMAND 正在执行的命令行命令
NI 优先级(Nice)
PRI 进程优先级编号(Priority)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识

例:查看当前用户下没有控制终端的所有进程,并过滤出包含init信息的进程

ps aux|grep init

jobs

用来显示当前shell 下正在运行哪些作业(即后台作业)。

$ cat

cat命令后面不跟任何东西,会阻塞住,并等待输入。

  • (按下Ctrl-z挂起当前进程)
[1]+ Stopped cat
$ cat
  • (按下Ctrl+z挂起当前进程)
[1]+ Stopped cat
$ jobs
[1]- Stopped cat
[2]+ Stopped cat

第一列方括号中的数字表示作业序号,它是由当前运行的shell 分配的,而不是由操作系统统一分配的。在当前shell 环境下,第一后台作业的作业号为1,第二作业的作业号为2,等等。第二列中的“+”号表示相应作业的优先级比“-”号对应作业的优先级高。第三列表明作业状态,是否为运行、中断、等待输入或停止等。最后列出的是创建当前这个作业所对应的命令行。

  • 挂起进程,进程停止,但是进程并没有死掉
  • 挂起进程底层是存入栈的结构,所以如果通过fg命令将挂起进程恢复为前台进程,只能从最后一个开始恢复

fg

fg [job…]
  • 把指定的后台作业或挂起作业移到前台运行。 参数job是一个或多个进程的PID,或者是命令名称,或者是作业号(作业号前面要带一个%号)。
  • 通常在shell中输入命令启动进程后,如果该进程需要与用户交互,那么此后用户的键盘输入都被该进程读取,直到该进程退出后才出现shell提示符$,这种进程为前台进程。
  • 如果在命令行的末尾加上&字符,则shell为这个命令创建一个后台进程,它虽然也可以输出到屏幕,但是不能读取键盘输入,不管执行命令的进程有没有退出都立刻回到shell提示符接受下一条命令的输入。如果该进程也需要读取键盘输入,则被挂起等待直到用户用fg命令把它变成前台进程。如果一个命令需要较长的处理时间并且不需要与用户交互,就适合把它放在后台执行。

bg

bg [job…]
  • 把被挂起的进程提到后台执行。 其中,job是一个或多个进程的PID、命令名称或者作业号,在参数前要带%号。
$ cat
  • (按下Ctrl+z挂起当前进程)
[1]+ Stopped cat
$ bg %1
[1]+ cat &
$(再回车一次)
[1]+ Stopped cat
$ fg %1
cat
(按Ctrl+d输入文件结束符)
$

kill

  • 向指定进程发送信号
kill [ -signal | -s signal ] pid ...
  • 查看信号编号
kill -l [ signal ]
  • 给一个进程发信号,或终止一个进程的运行。
$ cat
(按Ctrl-z挂起当前进程)
[1]+ Stopped cat
$ ps
PID TTY TIME CMD
5819 pts/1 00:00:00 bash
5893 pts/1 00:00:00 cat
5894 pts/1 00:00:00 ps
$ kill -SIGKILL 5893
$(再次按回车键)
[1]+ Killed cat
$

kill命令如果不带参数而直接跟pid,就是发给该进程SIGTERM信号,大部分进程收到该信号就会终止。但是被挂起的进程不能处理信号,所以必须发SIGKILL信号,由系统强制终止进程。

例:杀死进程
1,可以先通过jobs查看有哪些进程
2,查看进程pid,例此处查看火狐进程的id

ps aux | grep firefox

3,根据id,杀死进程

kill -SIGKILL 4774

4,上面的-SIGKILL是一个宏,可以简写为-9

env

  • 查看当前进程环境变量
$env
* vim ∼/.bashrc
  • 配置当前用户环境变量
* vim /etc/profile
  • 配置系统环境变量,配置时需要有root权限
export PATH=$PATH:新路径

top

相当于Windows下的任务管理器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,168评论 2 33
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,271评论 9 467
  • 进程管理: Linux/Unix系统查看进程的命令ps,在终端敲ps只会显示与终端有关的进程。 ps -ef ps...
    vera姐姐阅读 356评论 0 1
  • 我的世界 就是我的世界 不是你的世界 就好比 我看起来与你性格相似 ...
    孙浒胡阅读 130评论 0 1
  • 他也住这个小区吗?以前怎么都没见过?梦兮尾随其后。 咦,他站的地方?梦兮跑上前,“学长,你住这儿?”边说边输入密码...
    you你阅读 464评论 0 0