OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

此外,Linux 基于 UNIX,在 UNIX 中,让多个用户在同一系统上同时运行多个命令是一种常见的策略。 很明显,必须采取措施让 CPU 管理所有这些进程,并且必须提供该功能以便用户可以在进程之间切换。 在某些情况下,即使启动进程的用户注销,进程也必须继续运行。 用户需要一种方法来重新激活中断的进程。


我们将在下一节中解释 Linux 进程的结构。


图片

4.1.2. 工艺类型


4.1.2.1. 互动流程


交互进程通过终端会话进行初始化和控制。 换句话说,必须有人连接到系统才能启动这些进程; 它们不会作为系统功能的一部分自动启动。 这些进程可以在前台运行,占用启动程序的终端,只要这个进程在前台运行,就不能启动其他应用程序。 或者,它们可以在后台运行,以便您启动程序的终端可以在程序运行时接受新命令。 到目前为止,我们主要关注在前台运行的程序——运行它们的时间太短而无法注意到——但是查看带有 命令是占用终端会话的命令的一个很好的例子。 在这种情况下,激活的程序正在等待您执行某些操作。 该程序仍然从它开始的地方连接到终端,终端仅用于输入该程序可以理解的命令。 其他命令只会导致错误或


系统反应迟钝。


然而,当进程在后台运行时,不会阻止用户在程序运行时在他启动程序的终端中做其他事情。


shell 提供了一个名为 作业控制 这允许轻松处理多个进程。 这种机制在前台和后台之间切换进程。 使用该系统,程序也可以立即在后台启动。


图片

在后台运行进程仅对不需要用户输入(通过 shell)的程序有用。 将作业置于后台通常是在预计执行作业需要很长时间时完成的。 为了在输入命令后释放发出终端,添加了一个尾随与号。 在示例中,使用图形模式,我们从现有窗口打开一个额外的终端窗口:


比利:~> xterm &

[1] 26558


比利:~> 工作

[1]+ 跑步

xterm &

比利:~> xterm &

[1] 26558


比利:~> 工作

[1]+ 跑步

完整的作业控制功能在 打坏 信息页面,所以这里只列出常用的作业控制应用程序:


表 4-1。 控制流程


(部分)命令

常规命令

在前台运行此命令。

命令 &

在后台运行此命令(释放终端)

工作

显示在后台运行的命令。

按Ctrl+Z

挂起(停止,但不退出)在前台运行的进程(挂起)。

按Ctrl+C

中断(终止并退出)在前台运行的进程。


%n

在后台运行的每个进程都分配有一个编号。 例如,通过使用 % 表达式,可以使用作业编号来引用作业 fg %2.

bg

在后台重新激活暂停的程序。

fg

将作业放回前台。

结束进程(另请参阅 Info 页面中的 Shell 内置命令 打坏)

更多实际例子可以在练习中找到。


大多数 UNIX 系统很可能能够运行 屏幕,当您确实希望另一个 shell 执行命令时,这很有用。 通话时 屏幕, 一个新会话将创建一个附带的 shell 和/或指定的命令,然后您可以将其放在一边。 在这个新会话中,您可以做任何您想做的事情。 所有程序和操作都将独立于发出的 shell 运行。 然后您可以分离此会话,而您在其中启动的程序继续运行,即使您退出原始 shell,并选择您的 屏幕 随时可以再起来。


这个程序起源于虚拟控制台还没有发明的时候,一切都需要使用一个文本终端来完成。 对于瘾君子来说,它在 Linux 中仍然有意义,即使我们已经拥有虚拟控制台近十年了。


图片


4.1.2.2. 自动化流程


自动或批处理过程未连接到终端。 相反,这些任务可以排队进入假脱机区域,在那里它们等待在 FIFO(先进先出)的基础上执行。 可以使用以下两个标准之一来执行此类任务:


在特定日期和时间:使用 at 命令,我们将在本章的第二部分讨论。

有时,当系统总负载低到足以接受额外的作业时:使用 批量 命令。 默认情况下,任务被放入队列中等待执行,直到系统负载低于 0.8。 在大型环境中,当需要处理大量数据或需要在已经加载的系统上执行需要大量系统资源的任务时,系统管理员可能更喜欢批处理。 批处理也用于优化系统性能。


图片

4.1.2.3. 守护进程


OnWorks 的顶级操作系统云计算: