首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在shell脚本中停止一个进程并转到下一个进程?

如何在shell脚本中停止一个进程并转到下一个进程?
EN

Stack Overflow用户
提问于 2021-05-16 07:01:58
回答 1查看 68关注 0票数 0

我有一个脚本来下载连续的卫星图像和雷达图像,然后将它们合并成卫星图像动画和雷达图像动画。我创建了两个独立的脚本从卫星和雷达下载图像。我同时从shell脚本中运行这些代码。

代码语言:javascript
复制
python ./rad/rad_retrieval.py; python ./sat/sat_retrieval.py

卫星和雷达图像每30分钟更新一次,所以这两个巨蟒脚本将每30分钟下载一次图像,直到我们停止处理为止。第2部分,将每个卫星和雷达图像与ImageMagick结合成动画/电影的代码。

代码语言:javascript
复制
# Part 1
echo starting...
python ./rad/rad_retrieval.py; python ./sat/sat_retrieval.py

# Part 2
#combining downloaded satellite images into video
cd /home/Cast/sat_retrieved
echo saving video for satellite images
convert -delay 50 20210516-*.jpg Satellite_retrieved.mp4
echo saving video : Success

#combining downloaded radar images into video 
cp Satellite_retrieved.mp4 /home/Cast/
cd /home/Cast/Radar_retrieved/
echo saving video for radar
convert -delay 50 20210516-*.gif Radar_retrieved.mp4
echo saving video : Success

这是我的脚本,我想在一段时间后用用户输入停止第1部分,然后转到第2部分,而不停止整个shell脚本。怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-16 07:19:47

您可以忽略SIGTERM,并为SIGINT设置一个处理程序,以便在它到达父shell时杀死其子程序。这样,用户只需点击Ctrl就可以跳过第一部分。

代码语言:javascript
复制
# first part
python ./rad/rad_retrieval.py &
python ./sat/sat_retrieval.py &
trap '' term
trap 'kill 0' int
wait
trap - term int
# second part
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67553917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档