温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux中进程与作业的区别有哪些

发布时间:2021-11-15 15:21:27 来源:亿速云 阅读:233 作者:小新 栏目:系统运维

这篇文章主要为大家展示了“Linux中进程与作业的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中进程与作业的区别有哪些”这篇文章吧。

进程是什么?作业又是什么?在Linux系统上运行的所有东西都可以称之为一个进程。例如,一个简单的helloworld程序,在终端上输入ls命令等等。

一个正常运行的进程称之为作业,一个作业可以启动多个进程,例如作业 ls -lrt | grep *.txt 就启动了两个进程。

进程和作业相关的命令主要有:kill、disown、wait、fg、bg、jobs

fg、bg、jobs只接受作业号为参数。

kill、disown、wait即可接受作业号为参数,又可接受进程号为参数。

jobs 命令显示了当前 shell 环境中已启动的作业状态。

[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]$

kill命令可以用来终止一个进程

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

以上是“Linux中进程与作业的区别有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI