跳转到主要内容
模块 5 · 第 2 课(共 2)课程中的11/11~15 min
模块课程(2/2)

作业控制和日志(bg、fg、tail)

使用终端时,您可能希望运行长期命令而不锁定 shell。 Linux 支持作业控制,它允许您将进程发送到后台并将它们切换回前台。此外,您还将学习如何监视日志以检查系统上发生的情况。


在后台运行命令:& 和 jobs

要直接在后台启动命令(立即释放对终端的控制),请将 & (与号)字符附加到命令末尾:

Bash
sleep 1000 &

此命令返回作业号(例如,[1])和 PID。

列出职位:jobs

jobs 命令列出与当前 shell 会话关联且在后台运行或挂起的活动进程:

Bash
jobs

移动进程:fg、bg 和 Ctrl+Z

如果命令在前台运行并阻塞终端,您可以:

  1. 按 Ctrl + Z 挂起(暂停)当前进程。
  2. 使用**bg**(后台)命令在后台重新启动挂起的进程:
    Bash
    bg %1   # Restarts job 1 in the background
  3. 使用 fg(前台)命令将后台进程带回到前台:
    Bash
    fg %1   # Brings job 1 to the foreground

监控日志:tail 和 journalctl

系统和应用程序日志记录重要事件。通常,您需要在写入这些文件时实时观察它们。

查看文件末尾:tail

tail 命令显示文件的最后几行(默认为 10 行):

Bash
tail /var/log/syslog
tail -n 20 /var/log/syslog    # Shows the last 20 lines

要实时监视文件(例如,要查看测试应用程序时生成的日志消息),请使用 -f (以下)选项:

Bash
tail -f logs/server.log

自己尝试一下

练习 1:列出活跃的作业

锻炼#linux.m5.l2.e1
尝试:0加载中...

使用“jobs”命令显示终端会话中当前作业的列表(后台或挂起的进程)。

正在加载编辑器...
显示提示

只需使用“jobs”命令即可。

3 次尝试后可用的解决方案

练习 2:将作业置于前台

锻炼#linux.m5.l2.e2
尝试:0加载中...

使用“fg”命令将当前活动的后台作业带到前台。

正在加载编辑器...
显示提示

使用“fg”命令将作业返回到前台。

3 次尝试后可用的解决方案

练习 3:检查日志的最后几行

锻炼#linux.m5.l2.e3
尝试:0加载中...

使用“tail”命令显示位于“logs/server.log”的日志文件的最后几行。

正在加载编辑器...
显示提示

使用“tail”后跟文件路径:“logs/server.log”。

3 次尝试后可用的解决方案