bash shell中可以使用wait
https://jingyan.baidu.com/article/b907e6278fbd8946e7891c17.html
============================================================
linux下和windows下的任务控制不一样,
windows一般使用任务管理器进行管理
而linux下可以通过一系列的任务命令来控制,
主要包含:
bg,fg,jobs,kill,wait,disown,suspend.
下面就对这些命令进行简单的介绍
任务控制
-
bg
bg [jobspec…]
恢复每一个描述为jobspec的后台任务,就是通过“&”启动的任务。
如果没有jobspec,当前的任务就会被使用。
-
fg
fg [jobspec]
恢复描述为jobspec的任务到前台,使他成为当前任务,
如果没有jobspec,当前的任务就会被使用。
例子:使用fg,就会将top重新恢复到前台
-
jobs
格式
jobs [-lnprs] [jobspec]
jobs -x command[arguments]
jobs主要的功能就是列举出活动的任务
-l 列举任务的ID等内容
-p 列举任务的PID
-r -s 分别是列举运行的和停止的任务。
-
kill
kill [-ssigspec] [-nsignum] [-sigspec]jobspec or pid
kill -l|-L [exit_status]
kill 就是杀死对应的任务,可以通过jobspec 或者pid都可以
-
wait
wait [-n] [jobspecorpid…]
wait 会保证所有的子任务(进程)都结束了,才会退出主进程。
所以一般脚本如果执行有多个任务,使用wait就可以保证子任务的运行。
-
disown
disown [-ar] [-h] [jobspec… |pid… ]
从活动任务表里移除每一个jobspec的任务
-
suspend
suspend [-f]
挂起任务当前shell的执行,直到等到接受SIGCONT信号。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现