Linux / Unix:fg 命令示例
我是 Linux/Unix shell 新手。如何在 Linux 或类 Unix 系统上将后台进程调到前台?如何在 Linux/Unix bash/ksh 或基于 POSIX 的 shell 上在前台运行作业?您能为 Linux 用户提供 fg 命令示例吗?
作业控制只不过是停止/暂停进程(命令)执行并根据您的要求继续/恢复其执行的能力。这是使用您的操作系统和 shell(例如 bash/ksh 或 POSIX shell)完成的。让我们看看 fg 命令示例和语法。
fg 命令详细信息 | |
---|---|
描述 | 将后台进程带到前台 |
类别 | 流程管理 |
难度等级 | 简单的 |
Root 权限 | 不 |
预计阅读时间 | 3 分钟 |
您的 shell 会保留当前正在执行的作业的表,可以使用 显示jobs command。您需要使用bg command重新启动已停止的后台进程。该fg命令将当前 shell 环境中的后台作业移至前台。
目的
将作业放在前台,并使用 fg 命令使其成为当前作业。
句法
基本语法如下:
fg jobID fg jobID1 jobID2 ... jobIDN
了解职位编号 (jobID)
在 shell 中有多种方式来引用作业。字符%引入作业规范。JobID 可以是进程 ID (PID) 编号,也可以使用以下符号组合之一:
- %Number:使用职位编号,例如%1或%2。
- %String:使用名称以暂停命令开头的字符串,例如%commandNameHere或%ping。
- %+或%%:指当前工作。
- %-:指之前的工作。
fg 命令示例
在开始使用 fg 命令之前,您需要在系统上启动几个作业以进行演示。输入以下命令来启动作业:
xeyes & gnome-calculator & gedit fetch-stock-prices.py &
最后,在前台运行ping 命令:
ping example.com
要暂停ping 命令作业,请按下Ctrl-Z按键序列。
查找正在后台运行或暂停的作业
键入以下作业命令:
$ jobs -l
jobs -l 命令的输出显示以下作业在后台运行:
[4]+ 6138 Stopped ping example.com
如何将后台 ping 命令作业带到前台?
要将名为 ping 的后台或暂停进程调到前台,请输入:
$ fg %4
或
$ fg %ping
屏幕显示 ping 命令如下:
fg 命令选项
从命令手册页或运行help fg命令查看所有选项:
fg: fg [job_spec] Move job to the foreground. Place the job identified by JOB_SPEC in the foreground, making it the current job. If JOB_SPEC is not present, the shell's notion of the current job is used. Exit Status: Status of command placed in foreground, or failure if an error occurs.
关于 /usr/bin/fg 和 shell 内置命令的说明
键入以下内容type command来查明 fg 是否是 shell 的一部分、外部命令或者两者兼而有之:
$ type -a fg
示例输出:
fg is a shell builtin fg is /usr/bin/fg
在几乎所有情况下,您都需要使用作为 BASH/KSH/POSIX shell 内置实现的 fg 命令。/usr/bin/fg 命令不能在当前 shell 会话中使用。/usr/bin/bg 命令在不同的环境中运行,并且不共享父 bash/ksh shell 对作业的理解。
相关媒体
本教程还提供简短视频格式:
总结
我们可以使用 fg 命令将作业移到前台。使用 man 命令或 help 命令查看以下手册页:
man bash
man ksh
help fg