当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux教程

Linux进程与作业的区别及相关命令

文章标题:Linux进程与作业的区别及相关命令。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  在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

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | 凯发国际娱乐 | 凯发国际娱乐下载 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有