查看Linux中wait命令等待的任务
如何查看linux中wait命令等待的任务
在 Linux 中,wait 命令用于等待后台任务完成,但本身不直接显示等待的任务。要查看 wait 正在等待的任务,需结合 jobs 命令查看当前的后台作业。以下是详细步骤:
1. 查看后台任务(wait 等待的对象)
使用 jobs -l 命令 列出所有后台任务及其状态:
1
jobs -l
输出示例:
1
2
3[1] + 12345 Running sleep 60 &
[2] - 12346 Running some_long_script.sh &
[3] 12347 Done echo "Completed"
[1]:作业编号(%1)12345:进程 PIDRunning:任务状态(还有Done/Stopped)&:后台运行标识
2. wait 命令的用法
- 等待所有后台任务完成:
1
wait
- 等待特定任务完成(使用作业编号或 PID):
1
2wait %1 # 等待作业编号 1
wait 12345 # 等待 PID 12345
3. 实际使用示例
1 | # 启动两个后台任务 |
4. 关键说明
wait不显示任务列表:它只阻塞 Shell 直到任务完成,需通过jobs提前查看任务。- 任务状态解读:
Running:正在运行(wait会等待)。Done:已完成(wait会立即跳过)。Stopped:已暂停(需用bg恢复后wait才有效)。
- 脚本中监控:在脚本中使用
wait %1时,确保任务是通过&启动的后台作业。
5. 替代工具
- 查看进程树:
1
pstree -p # 显示所有进程树结构
- 检查进程状态:
1
ps aux | grep "some_script.sh"
总结:
要查看 wait 命令正在等待的任务:
- 在调用
wait前先用jobs -l列出后台任务。 - 根据任务状态(
Running)确定哪些任务会被等待。 - 使用
wait %n(n为作业编号)或wait PID明确等待对象。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Helloeuler!
