练习 9:Bash:任务控制,jobs,fg

原文:Exercise 9. Bash: job control, jobs, fg

译者:飞龙

协议:CC BY-NC-SA 4.0

自豪地采用谷歌翻译

Linux是一个多任务操作系统。这意味着有许多程序同时运行。从用户的角度来看,这意味着你可以同时运行几个程序,而且 bash 肯定有工具,为你控制多个任务的执行。为了能够使用此功能,你需要学习以下命令:

  • <CTRL> + z - 将当前运行的程序放在后台。

  • jobs - 列出所有后台程序。

  • fg - 把程序带到前台。fg接受一个数字作为参数,它可以从jobs中获取数,或者如果无参数调用,则将最后一个挂起的程序带到前台。

  • ctrl + c - 一次性停止执行当前运行的程序。虽然我不会在这个练习中使用它,但我必须说,这可能是非常有用的。

现在,你将学习如何使用 bash 内置的工具来控制程序的执行。

这样做

 1: less -S .profile
 2: <CTRL+z>
 3: less -S .bashrc
 4: <CTRL+z>
 5: less -S .bash_history
 6: <CTRL+z>
 7: jobs
 8: fg
 9: q
10: fg
11: q
12: fg
13: q
14: fg
15: jobs

你会看到什么

解释

  1. 打开.profile来查看。注意我如何使用-S参数,让less开启-chop-long-lines选项来启动。

  2. 挂起less

  3. 打开.bashrc来查看。

  4. 挂起less

  5. 打开.bash_history来查看。

  6. 挂起less

  7. 打印挂起程序的列表。

  8. 切换到less

  9. 退出它。

  10. 切换到第二个less

  11. 退出它。

  12. 切换到第一个less

  13. 退出它。

  14. 尝试切换到最后一个程序。没有任何程序,但你这样做是为了确保确实没有。

  15. 打印挂起程序的列表。这是为了确保没有后台任务,通过看到jobs打印出空的输出。

附加题

打开man bash,搜索 JOB CONTROL,输入/, JOB CONTROL, <ENTER>,并阅读它。

Last updated