linux 脚本的异步执行,shell命令同步异步
问题:在 shell 下有 A B C D 四个命令,需要先执行 A 再执行 B C 最后执行 D
其中, B C 耗时较多, 但是,互不干扰,可以同步执
子进程 和 wait
./A
./B & # 设为子进程
./C &
wait
./D
wait加参数是等待某个进程结束,不加参数是等待以上所有后台进程结束
例:
主脚本:
#!/bin/bash
#
# 异步执行(wait)使用样例-父脚本
#
echo "父脚本:启动子脚本.."
./async-child &
# 通过将shell参数 $! 赋给pid变量,以记录子进程的进程ID
pid=$!
echo "父脚本:子脚本(PID=${pid})已启动"
echo "父脚本:继续执行中.."
sleep 2
echo "父脚本:暂停执行,等待子脚本执行完毕.."
wait ${pid}
echo "父脚本:子脚本已结束,父脚本继续.."
echo "父脚本:父脚本执行结束。脚本退出!"
子脚本:
#!/bin/bash
#
# 异步执行(wait)使用样例-子脚本
#
echo "子脚本:正在运行.."
sleep 5
echo "子脚本:子脚本结束。脚本退出!"
结果:
[fbap:/home/fbap/usertmp]>./async-parent.sh
父脚本:启动子脚本..
父脚本:子脚本(PID=42620)已启动
父脚本:继续执行中..
子脚本:正在运行..
父脚本:暂停执行,等待子脚本执行完毕..
子脚本:子脚本结束。脚本退出!
父脚本:子脚本已结束,父脚本继续..
父脚本:父脚本执行结束。脚本退出!
linux 脚本的异步执行,shell命令同步异步相关推荐
- 在Jenkins远程链接Linux系统,然后执行shell命令-亲测可用【转】
版权声明:本文为博主原创文章,未经博主允许不得转载.部分为转载其他人的,如要使用,也请提前通知一声 https://blog.csdn.net/a136332462/article/details/7 ...
- linux popen 函数,Linux下使用popen()执行shell命令
函数原型: #include "stdio.h" FILE popen( const char command, const char* mode ) 参数说明: command: ...
- Linux下使用popen()执行shell命令
简单说一下popen()函数 函数定义 #include <stdio.h>FILE * popen(const char *command , const char *type ); i ...
- shell脚本循环执行一个linux命令,Linux中循环执行shell命令的方法
Linux命令行,循环执行shell命令 死循环 命令格式while true ;do ; done; 可以将 command 替换为任意命令. 下面以echo "hello"; ...
- linux脚本里调执行命令,使用shell的-n/-x/-x执行选项调试Shell脚本
我们在前面介绍的调试手段是通过修改shell脚本的源代码,从其输出相关的调试信息来定位错误的,那有没有不修改源代码来调试shell脚本的方法呢?有的,那就是使用shell的执行选项,下面将介绍一些常用 ...
- python中command是什么意思_python中command执行shell命令脚本方法
在Python中有一个模块commands也很容易做到以上的效果. 看一下三个函数: 1). commands.getstatusoutput(cmd) 用os.popen()执行命令cmd, 然后返 ...
- java 远程shell脚本_java通过ssh连接服务器执行shell命令详解及实例
java通过ssh连接服务器执行shell命令详解 java通过ssh连接服务器执行shell命令:JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转 ...
- mac运行linux命令,iOS:mac.app执行shell命令
报错 1: 错误: /bin/bash: line 1: /Users/liuyaqiang/Desktop/GitHub/KTMRobot/auto.sh: Operation not permit ...
- Linux学习系列五:Shell命令脚本的基本语法
这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...
最新文章
- python手机版怎么用-如何优雅的在手机上进行Python编程
- 操作系统老师上课讲的那个根据I/O时间和CPU时间比例来为进程分配优先级的题目,I/O时间比例越大,则这个进程的优先级越高
- 关于 数据文件自增长 的一点理解
- poj1673 EXOCENTER OF A TRIANGLE
- 基于CC1310的915MHz硬件设计
- Encapsulate Collection(封装集合)
- JS 浏览器差异(IE和FF)
- 压力测试和负载测试区别_性能测试vs压力测试vs负载测试
- 图书管理系统项目开发计划书
- windows下ssh远程连接服务器
- linux修改文件权限为所有人都可以访问,Linux 笔记分享八:文件权限的设定
- php中大于等于的表示方法,php:判断php版本是否大于等于某个版本的方法
- 基于ssm+vue+elementui的的ktv点歌管理系统
- moss2007安装部署历程 .
- 小武与YOLOv3----优图代码
- 关于特修斯之船(转自知乎)
- Kali Linux实战:如何一下看出Windows计算机是否开启445危险端口?是否存在永恒之蓝漏洞?
- python 应用程序无法正常启动 000007b_为你解答应用程序无法正常启动00xc000007b怎么办...
- 发现 3 个已存在的 RPM 数据库问题, 'yum check' 输出如下 解决办法
- 云解析旗舰版结合U8C(本地部署)应用设置
热门文章
- 双电源运放全波整流电路
- Bump Mapping
- edge或谷歌浏览器打开默认是百度或其他,怎么修改成自己想要的页面
- PHP分布式部署代码同步Git实现
- 详解Java的protected访问权限
- python怎么实现deepcopy_python复制.deepcopy()深度解读,pythoncopydeepcopy,深入
- 期货反向跟单—做到最后
- Maui学习之路(一)--Windows窗体设置
- 【论文阅读】SIGMOD‘19 FITing-Tree: A Data-aware Index Structure
- 极客大揭秘之软件分析