Linux/Unix下Bash和KSHshell的作业控制方法有哪些

这篇文章主要介绍“Linux/Unix下Bash和KSH shell的作业控制方法有哪些”,在日常操作中,相信很多人在Linux/Unix下Bash和KSH shell的作业控制方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux/Unix下Bash和KSH shell的作业控制方法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、做网站、台江网络推广、微信小程序定制开发、台江网络营销、台江企业策划、台江品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供台江建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

什么是作业控制?

作业控制不只是能够停止/挂起(stop/suspend)正在执行的进程(命令),也可以继续/唤醒(continue/resume)执行你需要的每一个进程。这完全可以用你的操作系统和 bash/ksh 之类的 shell 或 POSIX shell 完成。

谁给作业控制的提供了环境?

Bash / Korn shell,或者是 POSIX shell 提供给了作业控制的环境。

跟作业表打个招呼吧

你的 shell 会留有一张当前作业的表单,称为作业表。当你键入命令时,shell 会给它分配一个 jobID(也称作 JOBSPEC)。一个 jobID 或 JOBSPEC只是很小的整数数值。

#1: 创建你的*** Linux/Unix 作业

我要运行一个名为 xeyes 的命令,它会在屏幕上显示两个椭圆的眼睛,输入: $ xeyes &

输出样例:

Linux/Unix下Bash和KSH shell的作业控制方法有哪些

Fig.01: 在后台运行 xeyes 命令

我使用&符号让一个 job 在后台运行。shell 会打印一行信息类似如下:

[1] 6891

在这个例子中,有两个数字输出,分别表示:

  • 1 : 在后台执行的 xeyes 任务的作业号为 1。

  • 6891 : 作业1的进程ID。

我在多执行一些 job:

## 启动一个文本编辑器,X 的系统负载显示,和 sleep 命令 ## gedit /tmp/hello.c & xload & sleep 100000 &

#2: 列出当前的作业

要查看当前 shell 的激活的任务状态,输入:

$ jobs $ jobs -l

输出如下:

[1]   9379 Running                 xeyes & [2]   9380 Running                 gedit /tmp/hello.c & [3]-  9420 Running                 xload & [4]+  9421 Running                 sleep 100000 &

简要描述如下:

Linux/Unix下Bash和KSH shell的作业控制方法有哪些

你也可以用 ps 命名列出当前系统正在运行的进程:

$ ps

#3: 停止或挂起正在运行的作业

按下[Ctrl]-[Z]键或使用kill 命令,如下所示:

kill -s stop PID

举个例子,启动ping 命令,然后用 Ctrl-Z 键来停止 ping 命令作业:

Linux/Unix下Bash和KSH shell的作业控制方法有哪些

Animated gif 01: 挂起 ping 命令作业

到此,关于“Linux/Unix下Bash和KSH shell的作业控制方法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站标题:Linux/Unix下Bash和KSHshell的作业控制方法有哪些
转载源于:http://hbruida.cn/article/ighhhi.html