Linux shell获得后台进程返回值
来源:互联网 发布:中文版国际象棋软件 编辑:程序博客网 时间:2024/06/06 00:41
我们用“&”把进程放入后台以后,如果需要了解进程的执行情况,可以使用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执行完毕后也可以监控到该进程的返回值。
但是这里我有一处不明白,如果test01执行30秒,test02执行10秒,这时候wait test01进程的PID的时候test02已经执行完毕了,这时候wait函数又是怎么监控到test02的返回值呢?这个时候通过ps xf 查看该进程PID已经查询不到了,wait函数又是怎么监控到test02的返回值的。
经过测试,当command2执行完毕后也可以监控到该进程的返回值。
0 0
- Linux shell获得后台进程返回值
- ExtJs 获得后台返回值
- ajax获得后台的返回值
- JavaScript.ajax获得后台的返回值
- Perl获得调用shell地返回值
- shell获得c程序的返回值
- 获得子进程的返回值
- 设置和获得VB进程返回值
- C语言执行Linux的shell命令并获得返回值
- C语言执行Linux的shell命令并获得返回值
- C语言执行Linux的shell命令并获得返回值
- C语言执行Linux的shell命令并获得返回值
- C语言执行Linux的shell命令并获得返回值
- Linux C语言获得执行的shell命令的返回值
- C语言执行Linux的shell命令并获得返回值
- shell后台进程id
- linux 后台进程如何不受shell退出的影响
- Linux Shell函数返回值
- 网络设备配合SecureCRT使用解决命令行超长串行问题的典型配置
- ACM-开灯问题
- LDA PLSA 比较总结
- SQL中使用WITH CTE
- 一点小笔记
- Linux shell获得后台进程返回值
- Android笔记之ListView的ViewHolder超简洁写法
- url 中文传参 乱码问题
- linux centos安装lamp(yum快速安装)
- android java 时间0000-00-00 00:00:00 转化日期
- js 与或运算符 || && 妙用
- PAT 1007. Maximum Subsequence Sum (25)
- jBPM5与Activiti之间的差异对比
- 服务器AOI