一般,当您在终端设备中运作一个指令时,您一定要等待该指令进行后才可以键入另一个指令。这称之为在前台接待或前台接待过程中运行指令。当一个过程在前台接待运作时,它会拥有你的机壳,你能应用输出设备与它开展互动。

假如该指令必须很长期才能够进行,而且务必与此同时运作别的指令,应该怎么办?您有几类挑选。最显著和立即的选取是运行一个新的Shell对话并在这其中运行指令。另一个选项是在后台程序指令。

后台进程是以终端设备逐渐,在后台程序,不用用户的互动的过程/指令。

在这篇文章中,大家将探讨Linuxxinetd。大家将向您展现怎样在后台管理启动命令,及其怎样在Shell对话关掉后维持过程运作。

在后台程序Linux指令。

要在后台程序指令,请在指令结尾加上一个&标记:

command &

机壳工作标志(括在引号中)和步骤标志将印刷在终端设备上:

[1] 25177

您能够一起在后台程序好几个过程。

守卫程序流程将再次向您启用该指令的终端设备载入信息。要掩藏stdout和stderr信息,请应用下列英语的语法:

command > /dev/null 2>&1 &

>/dev/null 2>&1表明将stdout跳转到/dev/null,将stderr跳转到stdout。

应用jobs指令表明当今shell对话中全部已终止和后台进程的情况:

jobs -l

包含輸出工作号,过程标志,过程情况和运行过程的指令:

[1] 25177 Running ping Google.com &

要将后台进程送到前台接待,请应用fg指令:

fg

假如您有好几个后台作业,请在指令后加上%和工作标志:

fg %1

要停止后台进程,请应用kill命令,后跟过程标志:

kill -9 25177

将前台接待过程移到后台管理。

要在后台管理挪动已经运作的前台接待过程:

根据输入Ctrl Z终止过程。根据键入bg将终止的过程挪到后台管理。

在Shell撤出后,维持后台进程运作。

假如联接断掉或机壳对话撤出,守卫程序流程将被停止。在互动式shell对话以后,有几种方式能够维持过程运作。

一种办法是应用内嵌的disown shell从shell的作业控制中删掉工作:

disown

假如您有好几个后台作业,请在指令后加上%和工作标志:

disown %1

保证应用jobs -l指令从主题活动工作表格中删掉该工作。要列举全部已经运作的过程,包含这些沒有运作的过程,请应用ps aux指令。

撤出Shell后维持过程运作的另一种方式是应用nohup。

nohup指令实行特定为其主要参数的另一个程序流程,并忽视全部SIGHUP数据信号。SIGHUP是当过程的操纵终端设备关掉时发给过程的数据信号。

要应用nohup指令在后台程序该指令,请输入:

nohup command &

輸出被跳转到nohup.out文档。

nohup: ignoring input and appending output to 'nohup.out'

假如您销户或关掉终端设备,该全过程不容易停止。

代理商者

有很多程序流程容许您与此同时开展好几个互动对话。

显示屏

Screen或GNU Screen是一个终端设备多路复用器程序流程,容许您运行一个显示屏对话,并在对话中开启随意总数的对话框(虚似终端设备)。即便断开,显示屏中使用的过程也将持续运作,即便他们的对话框不由此可见。

Tmux

Tmux是GNU Screen的当代代替品。应用Tmux,您可以开启一个对话,并在对话中开启两个对话框。Tmux对话是长久的,这代表着即便您关掉终端设备,在Tmux中使用的程序流程也将持续运作。

结果

要在后台程序该指令,请在指令结尾包括&号。当您在后台程序一个指令时,您还可以实行另一个指令,而不用等候指令进行。

假如您有任何的难题或意见反馈,请随时随地评价。

评论(0条)

刀客源码 游客评论