美文网首页
shell多进程

shell多进程

作者: 是阿离 | 来源:发表于2017-06-27 00:47 被阅读0次

现象

远程主机监控脚本运行速度感人,想要提速。通过分析脚本各语句,主要耗时在ssh操作上,有多条ssh自动登录并执行操作的语句块在依次执行0.0……
通过分析,初步考虑有两种方案:

  1. 将这多个需要ssh登录并执行的语句块合为一个ssh函数进行处理
  2. 将这多个语句块进行并发

对于方案1:由于使用的ssh自动登录函数为前期已经封装好的,如果要将多个语句块逻辑放在一个ssh自动登录函数中,需要对ssh自动登录函数再次进行封装。分析当前语句块的逻辑,再次封装需要的逻辑处理与文件控制比较复杂,只当做备选方案,暂不使用。

讲知识

一、如何进行并发
shell的并发,可以通过将程序挂在后台执行来实现,使用&,对于代码块,需要使用

{
    代码块1
}&
其他代码2

shell脚本会先将代码块1放到后台执行,并不等待代码块1结束,直接执行其他代码2
二、如何判断后台代码块1是否完成
可以通过<code>&!</code>来获取刚挂后台进程id,通过wait来等待代码块1完成

{
    代码块1
}&1
codeOneP=&!
其他代码2

wait codeOneP
完成后操作

相关文章

  • storm 多语言支持实践

    原理 shell bolt 将数据和命令序列化成 json 后输出到shell 进程中,shell 进程接收 js...

  • chsh

    修改shell进程

  • shell脚本编程基础

    bash中变量的种类 局部变量:生效范围为当前shell进程,对当前shell之外的其它shell进程,包括当前s...

  • shell脚本

    交互式 Bash Shell 获取进程 pid 在已知进程名(name)的前提下,交互式 Shell 获取进程 p...

  • 4、bash

    shell:外壳 用户登录时将会打开shell。每个用户都是独立的进程,互不干扰,进程是程序的副本,进程是程序执行...

  • [Shell] exec

    shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环...

  • Electron

    node GUI Electron 进程间通信IPC 主进程与渲染进程 渲染进程与渲染进程 shell dialo...

  • 记一次shell的分享

    shell分享 原理 shell用fork建⽴新进程,⽤execv函数簇在新进程中运⾏⽤户指定的程序,然后shel...

  • arthas源码解析

    1.运行脚本 下载as shell脚本 选择个java 进程后shell脚本会去运行个java程序 同时带上了进程...

  • adb中常用的命令

    进程线程有关 在adb shell中 adb shell ps eg: capricorn:/ # ps | gr...

网友评论

      本文标题:shell多进程

      本文链接:https://www.haomeiwen.com/subject/tndscxtx.html