二。控制流程既然您已经知道了如何查看和监控流程,那么让我们来看看如何控制流程。 使用名为xlogo的程序作为测试对象。 0.xlogo (1)是什么?Xlogo程序是X window system(使显示支持图形界面的底层引擎)提供的示例程序。它只是显示一个带有X标志的可缩放窗口。 (2)怎么做?(1)语法格式xlogoxlogo.png输入该命令后,屏幕某处会出现一个包含X标志的小窗口。 (3)注意,在某些系统中,xlogo可能会输出警告信息,但我们可以忽略它,因为它不会造成任何影响。 如果系统中没有xlogo程序,请尝试使用gedit程序或kwrite程序。 (4)判断xlogo是否在运行,我们可以通过改变窗口大小来验证xlogo是否在运行。 如果重新绘制徽标以适应新的窗口大小,则表明程序正在运行。 ①壳提醒为什么不回?您可能会发现为什么shell提醒没有返回到这里。这是因为shell提醒正在等待xlogo程序结束,就像之前使用的其他程序一样。 如果您关闭xlogo窗口,提醒将会返回。 1.中断进程(1)Ctrl-C①在终端中按Ctrl-C键会中断一个程序,这意味着我们礼貌地请求程序结束。 按Ctrl-C后,xlogo窗口将关闭,shell提醒将返回。 ⅰ.示例让我们再次运行xlogo程序,看看会发生什么。 首先输入xlogo命令,确保程序运行正常;然后,返回到终端窗口并按Ctrl-C。 Xlogo中断ctrl-c . png 2 . &-让进程在后端运行。假设我们希望shell提醒返回,但不终止xlogo程序,我们可以通过让程序在后端运行来实现。 (1)什么是后端?我们可以认为终端有一个前端(可见的内容,例如:shell提醒)和一个后端(隐藏在表面下的内容)。 正在运行的后端进程不会受到任何键盘输入的影响,包括试图中断它的Ctrl-C键。 (2)怎么做?如果希望程序在启动时运行在后端,可以添加&(和字符)来实现。 ①语法格式命令。xlogo后端运行xlogo & amp运行后端示例。png(3)作业控制)xlogo &命令执行后,会出现xlogo窗口,并返回shell提醒,但同时会打印出少量有趣的数字信息。 这些信息是称为作业控制的shell的一个特性。 来自Shell的这条消息显示,启动的作业的编号是1 ([1]),其对应的PID是4514。 如果可以通过执行ps命令查看当前运行的进程,ps作业控制示例的作业控制功能。png(4)jobs命令Shell还提供了一种查看终端提供的所有作业的方法。 使用jobs命令获取以下信息 jobsjobs命令的示例。png输出显示有一个编号为1的作业正在运行,相应的命令是xlogo & 3.fg-让流程运行回前端。后端运行进程不会受到任何键盘输入的影响,包括试图打断它的Ctrl-C键。 要使进程运行回平台,可以使用fg命令,如下例所示:(1)语法格式fg [parameter]' '函数:使运行在后端的进程运行回前端。 参数:①%工单编号:fg后跟jobspec选项,指定哪个进程运行回前端。 (注意:如果后端只有一个任务,可以省去jobspec选项)选项:返回值:' ' '①jobspec选项fg后面是百分号和作业号,称为job spec选项。 如果后端只有一个任务,那么可以省略jobspec选项。 ②示例作业#检查终端(即jobspec选项)提供的所有作业fg %1#的百分号和作业号,以指定作业号为1的流程应返回前端。 Fg举例。png此时,按Ctrl-C终止xlogo命令。 4.暂停(暂停)进程。如果我们只是想暂停进程,而不是终止它,我们通常需要将运行在前端的进程移到后端。 (1)Ctrl-Z停止该过程。在Linux中,为了暂停前端进程,我们需要按Ctrl-Z键,即可以暂停进程。 (注意:此时,这个任务还没有完成,但它仍在进程中,只是保持挂起状态(即暂停)。 客户可以使用fg或bg命令继续前端或后端任务。fg命令重新启动被中断的前端任务,bg命令将被中断的任务放到后端执行。 使用fg命令时,如果只有一个作业,可以不使用jobspec选项。 (1)例子我们来试试下面的操作,在命令提醒后输入xlogo,按回车键后再按Ctrl-Z,即可以暂停(suspended)进程。 Xlogo #按Enter,然后按Ctrl-Z暂停该过程。 Xlogo暂停按Ctrl-Z. png在xlogo命令暂停后,我们可以通过尝试改变xlogo窗口的大小来确认程序是否真的可以暂停。 你可以看到进程看起来像死了一样(x不适应窗口大小)。 这时候我们可以用fg命令让进程在前端恢复运行,或者用bg命令把进程移到后端。 (2)bg-使流程在后端运行①语法格式BG[parameter]‘’功能:使流程在后端运行。 (这个命令的操作效果与添加一个符号的效果是一样的,它被放到系统的后端来执行。 )参数:①作业号:指定需要放在后端的作业标识号。 (如果系统中只有一个挂起的任务,即使该命令没有设置参数“1 ”,也可以实现该功能。 这是& amp;as fg命令)选项:返回值:' ' '②例ⅰ。将任务号为1的任务放在后端继续执行。bg 1 bg %1bg命令example.png(3)我不记得添加&如果一个图形程序(比如xlogo)是通过命令启动的,但是你不记得在命令的末尾添加符号“&”。让程序在后端运行,那么在这种情况下,用bg命令把进程从前端移到后端来运行方法会非常方便。 (4)为什么要用命令行启动图形化程序?原因有二:第一,你要运行的程序可能不在窗口管理器的菜单里,比如xlogo程序。 其次,从命令行启动程序可以看到图形化启动程序时看不到的错误信息。 有时,如果您从图形菜单启动一个程序,该程序将无法启动。 但是,如果您通过命令行启动它,您可以得到一个错误警告消息并找到问题。 此外,一些图形程序还包含许多有趣和有用的命令行选项。