linux多个脚本并行运行,多个脚本同时执行

1、编写多进程实验脚本 demo.sh

#!/bin/bash

>sub1.log;>sub2.log;>sub3.log

function sub1

{

for i in {1..5}

do

echo `date +%T` >> sub1.log   #注意date 和+号之间有空格。如:date +%m/%ddate取"月/日"的命令行。

sleep 1

done

}

function sub2

{

for i in {1..5}

do

echo `date +%T` >> sub2.log

sleep 1

done

}

function sub3

{

for i in {1..5}

do

echo `date +%T` >> sub3.log

sleep 1

done

}

sub1

sub2

sub3

2、执行实验脚本

[root@Svr23 Mornitor]# ./demo

[root@Svr23 Mornitor]# cat sub1.log

11:11:51

11:11:52

11:11:53

11:11:54

11:11:55

[root@Svr23 Mornitor]# cat sub2.log

11:11:56

11:11:57

11:11:58

11:11:59

11:12:00

[root@Svr23 Mornitor]# cat sub3.log

11:12:01

11:12:02

11:12:03

11:12:04

11:12:05

发现三个sub子函数是依次执行,总共需要15s

3、调整修改一下脚本,将sub子函数加入到后台执行。

[root@Svr23 Mornitor]#  vi demo.sh

..........

sub1&

sub2&

sub3&

再次执行实验脚本

[root@Svr23 Mornitor]# ./demo

[root@Svr23 Mornitor]# cat sub1.log

11:12:24

11:12:25

11:12:26

11:12:27

11:12:28

[root@Svr23 Mornitor]# cat sub2.log

11:12:24

11:12:25

11:12:26

11:12:27

11:12:28

[root@Svr23 Mornitor]# cat sub3.log

11:12:24

11:12:25

11:12:26

11:12:27

11:12:28

发现三个sub子函数是并行执行,总共需要5s,速度大大提高

分析:shell是fork()+exec()来处理子命令,3个进程并发执行.主shell退出后,三个进程都会被init收养.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值