jobs命令

jobs命令是Unix/Linux shell中的一个内置命令,用于显示当前shell中正在运行的作业(job)的状态。作业是指在后台执行的命令或命令序列。

jobs命令的基本用法

显示所有作业的状态

当你在终端中启动一个命令并在其后加上&符号时,该命令就会在后台运行。你可以使用jobs命令来查看所有后台作业的状态:

jobs

输出将显示当前shell中的所有作业及其状态。输出格式通常如下:

[1]+  Running                 ./example_script &
[2]-  Stopped                 sleep 10 &

这里的输出解释如下:

  • [1]+:第一个作业(编号为1),并且是当前活动的作业(用+表示)。
  • Running:该作业当前处于运行状态。
  • ./example_script &:这是启动该作业时的命令。
  • [2]-:第二个作业(编号为2),并且不是当前活动的作业(用-表示)。
  • Stopped:该作业当前处于停止状态。
  • sleep 10 &:这是启动该作业时的命令。

jobs命令的选项

jobs命令支持一些选项来修改其行为:

  • -l--long:以长格式显示作业信息,包括作业的PID。
  • -s--state:只显示作业的状态。
  • -r--running:只显示正在运行的作业。
  • -s--stopped:只显示已停止的作业。
示例

显示所有作业的详细信息:

jobs -l

只显示正在运行的作业:

jobs -r

只显示已停止的作业:

jobs -s

控制作业

一旦你知道了某个作业的编号,你可以使用fg(将作业移到前台)或bg(将作业移到后台继续运行)命令来控制它:

  • 将作业移到前台

    fg %job_number
    

    例如,将第一个作业移到前台:

    fg %1
    
  • 将作业移到后台

    bg %job_number
    

    例如,将第一个作业移到后台:

    bg %1
    

示例

假设你有两个命令在后台运行:

  1. 启动一个长时间运行的脚本:

    ./long_running_script &
    
  2. 启动一个休眠命令:

    sleep 1000 &
    

你可以使用jobs命令查看这两个作业的状态:

$ jobs
[1]+  Running                 ./long_running_script &
[2]-  Running                 sleep 1000 &

如果需要将第一个作业移到前台继续执行:

$ fg %1

如果需要将第一个作业移到后台继续执行:

$ bg %1

总结

jobs命令是一个非常有用的工具,可以帮助你管理和控制在Unix/Linux shell中运行的后台作业。通过使用jobs命令及其选项,你可以轻松地查看当前shell中的作业状态,并使用其他命令(如fgbg)来控制这些作业。如果你有任何其他问题或需要进一步的帮助,请随时提问!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值