第八章 进程和程序:编写命令解释器sh

0.摘要

概念与技巧
-Unix shell的功能
-Unix的进程模型
-如何执行一个程序
-如何创建一个进程
-父进程和子进程之间如何通信
相关的系统调用
-fork
-exec
-wait
-exit
相关命令
-sh
-ps

1.什么是进程

进程就是运行的程序.

2.通过命令ps学习进程
ps会列出当前运行的所有进程
ls会列出当前目录下的文件信息

ps显示进程,其中有pid,每一个进程与一个终端相连,每个进程有自己已经运行的时间

ps -a   打印其他终端以及系统的进程
ps -la  打印更加详细的进程信息
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY      TIME CMD
0 S  1000 18642 18626  0  80   0 - 15028 poll_s pts/1    00:00:00 python
0 S  1000 24240 24199  0  80   0 -  5045 wait   pts/21   00:00:00 man
0 S  1000 24252 24240  0  80   0 -  2848 wait_w pts/21   00:00:00 pager
0 S  1000 25891 23683  0  80   0 -  3775 pause  pts/18   00:00:00 bounce_aio
4 R  1000 25901 19808  0  80   0 -  7663 -      pts/19   00:00:00 ps

S表示当前进程状态,S(sleep),R(run),uid表示所属用户id,PID表示进程id,PPID表示父用户ID,PRI和NI表示进程优先级和niceness级别(这两个值和内核中的cpu进程调度有关)。内核通过这两个值来判断进程什么时候执行。niceness就像在排队的时候让其他用户排在自己的前面。SZ表示占用的内存量,当程序在运行的时候动态的增加内存,会改变进程的大小。 WCHAN列出了睡眠的原因。 ADDR和F已经不再使用,为了兼容性还是需要。-ly显示目前使用的进程。

ps -fa  //格式化的显示信息。

将UID替换成用户,cmd替换成了执行路径。在ps中可以看到许许多多的内部程序。

UID        PID  PPID  C STIME TTY          TIME CMD
shengch+  3322  3249  0 105 pts/1   00:01:28 vim -On shm_ts.c shm_t2.
shengch+  4013  3998  0 105 pts/18  00:00:00 man shmget
shengch+  4025  4013  0 105 pts/18  00:00:00 pager
shengch+  6663  6643  0 105 pts/19  00:00:00 man semctl
shengch+  6675  6663  0 105 pts/19  00:00:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值