Linux shell获得后台进程返回值_后台执行的服务的返回值-程序员宅基地

技术标签: Linux  



我们用“&”把进程放入后台以后,如果需要了解进程的执行情况,可以使用wait函数。默认情况下wait会等待任意子进程结束但是不会返回子进程的返回值。而以子进程的pid作为参数调用wait时,wait便能够返回该子进程的退出状态了。
具体操作如下:

#!/bin/bash
dir=`dirname $0`
$dir/test01.sh &
$dir/test02.sh &
echo '' > $dir/tmp.log
for pid in $(jobs -p)
do
wait $pid
status=$?
if [ $status != 0 ];then
echo "$pid status is $status have some error!" >> $dir/tmp.log
else
echo "$pid status is $status success!" >> $dir/tmp.log
fi
done


这里我们借助了“jobs -p“来获得所有后台进程的pid。

但是这里我有一处不明白,如果test01执行30秒,test02执行10秒,这时候wait test01进程的PID的时候test02已经执行完毕了,这时候wait函数又是怎么监控到test02的返回值呢?这个时候通过ps xf 查看该进程PID已经查询不到了,wait函数又是怎么监控到test02的返回值的。
经过测试,当command2执行完毕后也可以监控到该进程的返回值。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wangxin6722513/article/details/44080313

智能推荐

计算机视觉竞赛技巧总结(一):目标检测篇-程序员宅基地

文章浏览阅读9.8k次,点赞17次,收藏43次。本系列主要面向计算机视觉目标检测、图像分割及OCR等领域,每章将分别从最新方法、开源框架、数据、模型、常用Tricks等方面展开介绍,主要面向深度学习CV方向同学学习,希望大家能够多多交流,欢迎订阅本专栏,如有错误请大家在评论区指正,如有侵权联系删除。_计算机视觉竞赛

kill bugs-程序员宅基地

文章浏览阅读327次。Java使用mysql-jdbc连接MySQL出现如下警告:Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be _kill bugs

使用eclipse搭建SSM框架整合Maven(超详细!)_用ecplise搭建一个maven多模块ssm框架项目-程序员宅基地

文章浏览阅读7.8k次,点赞9次,收藏44次。工作以来,一直在写前端,很久没碰后端了,今天突然发现,后端的东西得慢慢捡起来了,毕竟以后还是得靠后端吃饭的。要写后端,首先得有环境吧,那就从搭框架开始吧,今天先搭一个SSM框架,方便以后需要时直接用。下次有时间再写一个搭建SSH的。文章大部分内容参考传智播客教学视频,本文只列出搭建流程,一些固定代码还是能copy就copy吧^_^1.使用eclipse新建一个Maven工程2.填写..._用ecplise搭建一个maven多模块ssm框架项目

java使用MultipartFile上传文件_multipartfile 克隆类-程序员宅基地

文章浏览阅读943次。@PostMapping("upload")public ResponseVo upload(@RequestParam("files[]") MultipartFile[] files) { Map<String, Object> resultMap = new HashMap<>(); if (ArrayUtils.isEmpty(files)) { //resultMap.put("message", MessageUtil.getMessa._multipartfile 克隆类

【云原生 | 01】docker容器引擎_docker cpuset.cpu_exclusive-程序员宅基地

文章浏览阅读6.4w次,点赞161次,收藏305次。容器技术显然不是什么新概念,最早的容器技术可以追溯到 1979 年诞生的 chroot 技术 ,容器技术又称为容器虚拟化,这是虚拟化技术中的一种 ,目前虚拟化技术主要有硬件虚拟化、半虚拟化和操作系统虚拟化等 。本系列文章讲述的容器虚拟化属于操作系统虚拟化,其相较于其他主流虚拟化技术更为轻量。............_docker cpuset.cpu_exclusive

《剑指offer》第7题:斐波那契数列_for 1071:菲波那契数 【题目描述1071:菲波那契数 【题目描述】 菲波那契数列是指-程序员宅基地

文章浏览阅读291次。斐波那契数列1 题目描述2 分析及题解2.1 方法一:递归2.2 方法二:递归2.3 方法三:循环迭代1 题目描述  大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=392 分析及题解2.1 方法一:递归之前写过一题是需要返回整个斐波那契数列的,所以此次递归借助一个初始化列表class Solution1: def __init__(self): self.fibList = [0, 1] #_for 1071:菲波那契数 【题目描述1071:菲波那契数 【题目描述】 菲波那契数列是指

随便推点

AttributeError: ‘NoneType‘ object has no attribute ‘find_all‘_dockers的run_commands failed: 'nonetype' object has-程序员宅基地

文章浏览阅读2.4k次。极客时间Python核心技术与实战案例:豆瓣今日推荐电影爬虫老师提供的原代码如下:import requestsfrom bs4 import BeautifulSoupimport timedef main(): url = "https://movie.douban.com/cinema/later/beijing/" init_page = requests.get(url).content init_soup = BeautifulSoup(init_dockers的run_commands failed: 'nonetype' object has no attribute 'get

Java岗八年多开发经验分享_8年 java开发经验-程序员宅基地

文章浏览阅读543次。从接触开发至今已有8年多,从实习到带团队,也算总结出了一部分经验!如果分享的东西对读者朋友们来说,有价值,有干货!能够给到帮助!这就是我写这篇文章的目的!这篇文章为文档面试资料推荐文,希望带着大家从面试题的角度,去分析问题,解决问题!..._8年 java开发经验

微软必应词典客户端的案例分析-程序员宅基地

文章浏览阅读226次。微软必应词典客户端的案例分析:整个文章的研究对象为必应词典客户端IOS版第一部分:调研 测评Bug:首先最严重的一个Bug就是摄像头翻译功能基本形同虚设,整个取景框里面没有说明需要把目标单词放在哪儿或者说明是整段翻译等。就算拍照清晰也一直返回错误信息在相关单词推荐的功能中,经常会有单词没有翻译出现全空的情况出现单词所对应的例句中,会有功能将翻以前的单词..._微软必应词典联想词汇

Android findViewById与findViewWithTag()-程序员宅基地

文章浏览阅读1.1k次。2019独角兽企业重金招聘Python工程师标准>>> ..._findviewwithtag

QT关于回调函数_qt 回调函数-程序员宅基地

文章浏览阅读5.5k次。.h文件#ifndef CALLBACK_H#define CALLBACK_Htypedef void (* Callback )( void *n_obj, void *user_data );//callbackstruct Timer{ void *user_data; void *user_obj; Callback n_cb;};cla_qt 回调函数

splice和slice的差别_splice改变原数组-程序员宅基地

文章浏览阅读502次。前端js基础:splice和slice的差别_splice改变原数组