UNIX/linux进程和作业控制

      用于创建和使用进程的系统调用有fork、exec、wait和exit。

      举例:shell运行外部命令时,先fork调用创建当前进程的一个副本。子进程使用exec将他自身从运行shell的进程变成运行外部程序的进程。其次,父进程使用wait系统调用暂停执行,直到子进程结束执行。最后,外部程序结束,子进程使用exit终止自身的执行。子进程释放所有资源,但保留相关数据条目,成为一种数据结构——僵尸进程。若父进程执行了wait则此时父进程立即被内核唤醒查看相关僵尸进程的执行数据,然后移除僵尸进程条目。若父进程没有执行wait且没有被杀,那么僵尸进程将会保留。

      子进程运行时,父进程意外死亡会使子进程称为孤儿进程。孤儿进程被init收养,称为init的子进程。所以处理上面僵尸进程的一种方法是杀死其父进程,使其称为孤儿僵尸进程而被init收养,有init清除他的残留数据。

       上面说进程调用fork生成一个副本即子进程。父进程等待,子进程运行程序。fork调用后,父进程返回他的PID,子进程返回为0.这就区分了父进程与子进程。

作业控制

      作业控制是一项由shell支持的特性,允许执行多项作业,一个在前台执行,其他在后台运行。(当你在命令的末尾加一个&, 不必等该命令程序执行完毕,而可以立即输入运行其他命令)。

      作业与进程的区别是他指整个命令行所需的全部进程。进程由内核控制,而作业由shell控制。如

      who | cut -c 1-8 | sort | uniq -c  和   data;who;uptime;cal 12 2008;

      第一条命令是一个管道线,生成4个进程,被认为是一个作业。第二个是四个进程。

 

fg 挂起作业

      每个作业处于前台执行、后台执行、待续。使用fg可将改程序返回前台。使用bg将作业移至后台。

      suspend命令将shell中的当前程序挂起。

jobs显示作业列表

      jobs显示所有作业列表。

ps程序 显示进程信息

     
-A 显示所有进程(等价于-e)(utility)
-a 显示一个终端的所有进程,除了会话引线
-N 忽略选择。
-d 显示所有进程,但省略所有的会话引线(utility)
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
-l 长格式(有F,wchan,C 等字段)
-j 作业格式
-o 用户自定义格式。
v 以虚拟存储器格式显示
s 以信号格式显示
-m 显示所有的线程

top、prstat监视系统进程

      显示重要的动态的进程信息 cpu信息

pstree显示进程树

      pstree [-aAcGnpu] [pid  | userid]

kill杀死进程 向进程发送信号

      可以用ps显示进程ID 然后用kill ID杀死      

      kill -STOP 进程      用来想这个进程发送信号STOP

nice改变进程优先级

      nice以一个较低的优先级运行程序

renice改变现有进程的优先级

     renice niceness -p PID

守护进程

      大多数进程不是由用户 运行的程序。这些不与终端相连的后台运行的程序成为守护进程(对应windows的服务程序)。守护进程执行系统所需的大量任务,等待事件的发生。

 

 

      

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值