阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
查看: 917|回复: 0

[转帖] Linux进程与作业的区别及相关命令

[复制链接]
  • TA的每日心情
    开心
    2012-3-7 10:15
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2012-2-8 16:21:16 | 显示全部楼层 |阅读模式
    在Linux系统上运行的所有东西都可以称之为一个进程。例如,一个简单的helloworld程序,在终端上输入ls命令等等。
      一个正常运行的进程称之为作业,一个作业可以启动多个进程,例如作业ls -lrt | grep *.txt就启动了两个进程。
      进程和作业相关的命令主要有:kill、disown、wait、fg、bg、jobs
      fg、bg、jobs只接受作业号为参数。
      kill、disown、wait即可接受作业号为参数,又可接受进程号为参数。
      jobs 命令显示了当前 shell 环境中已启动的作业状态。
      kill命令可以用来终止一个进程
      [alex@cgdp alex]$ sleep 100&
      [1] 6273
      [alex@cgdp alex]$ ps
      PID TTY TIME CMD
      6230 pts/0 00:00:00 bash
      6273 pts/0 00:00:00 sleep (待删除的进程)
      6274 pts/0 00:00:00 ps
      [alex@cgdp alex]$ kill -9 6273
      [alex@cgdp alex]$ ps
      PID TTY TIME CMD
      6230 pts/0 00:00:00 bash
      6275 pts/0 00:00:00 ps
      [1]+ Killed sleep 100 (进程已被删除)
      disown命令可以用来删除作业
      [alex@cgdp alex]$ ls -l | sleep 200&
      [1] 6326
      [alex@cgdp alex]$ jobs
      [1]+ Running ls --color=tty -l | sleep 200 &
      [alex@cgdp alex]$ disown %1
      [alex@cgdp alex]$ jobs
      [alex@cgdp alex]$
      fg命令把后台运行的作业放到前台运行,bg重启一个挂起的作业。
      可以用 CTRL+z 将当前进程挂起到后台暂停运行,执行一些别的操作,然后再用 fg 来将挂起的进程重新放回前台(也
      可用 bg 来将挂起的进程放在后台)继续运行。
      wait命令停止脚本的运行,直到后台运行的所有作业都结束为止,或者直到指定作业号或进程号为选项的作业结束为止.可
      以使用wait 命令来防止在后台作业没完成(这会产生一个孤儿进程)之前退出脚本.
      例如:
      写一个简单的脚本test
      #!/bin/sh
      ls -l&
      echo "done"
      运行:
      [alex@cgdp shell]$ ./test
      done
      [alex@cgdp shell]$ total 4
      -rwxrwxr-x 1 alex alex 30 May 5 21:15 test
      使用wait命令重写脚本test
      #!/bin/sh
      ls -l&
      wait
      echo "done"
      运行:
      [alex@cgdp shell]$ ./test
      total 4
      -rwxrwxr-x 1 alex alex 35 May 5 21:19 test
      done

    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表