bg:后台运行命令

作用:bg命令使一个被挂起的进程在后台执行。

用法:bg

该命令无参数。

说明:Linux作为一个多任务环境,用户会同时执行多项任务,例如,查看系统情况、备份资料、编辑文件和打印文件等。耗时长的任务不应该在前台任务中执行,而应该交给后台任务去执行。这样前台任务可继续正常进行其他的操作,不用等待。

应用实例如下。

(1)将一个大目录的文件进行排序后,将结果输入到一个文件中

#du –a / | sort –rn > /tmp/du.sorted

(2)在命令后使用&符号

由于这个命令执行时间很长,可以把它放在后台运行。使用组合键Ctrl+Z,然后使用bg命令。如果想直接把这个命令放在后台执行,可以在命令后使用“&”符号:

#du –a / | sort –rn > /tmp/du.sorted &

[1] 237

4.9 fg:挂起程序

作用:fg命令使一个被挂起的进程在前台执行。

用法:fg [job-spec]

[job-spec]:后台任务号码。

说明:fg命令和bg命令是相对应的。如果想查看后台程序运行情况,可以使用fg命令把它调回前台查看。bg命令可以使多个进程放到后台中执行。

应用实例如下。

使用fg命令时,要加入后台任务号码,如果不加任何号码,则所变动的均是当前任务。

#du –a / | sort –rn > /tmp/du.sorted &

[1] 237

#fg 1

4.10 jobs:显示后台程序

作用:jobs命令显示后台任务的执行情况。

用法:jobs [选项] [jobspec…]

主要选项如下。

— -l:长输出用法,显示全部内容。

— -n:不输出信息。

— -p:只输出进程号。

— -r:只输出运行的进程。

[jobspec]表示后台任务号码。

应用实例如下。

先把两个进程放在系统后台运行,然后使用jobs命令查看后台任务的执行情况:

#du -a /etc > user.data &
[1] 233
# find / -name core -type f -ls > core.data &
[2] 234
#jobs –l
[1] + 237 Running du -a /etc > user.data
[2] - 238 Running find / -name core -type f -ls > core.data

说明:

上面的当前任务是“du -a /etc > user.data”,因为后台任务号码是“[1]”。当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”的后台任务,即当前任务是动态的。