linux系统中用GNU parallel并行执行几个shell脚本

linux系统中用GNU parallel并行执行几个shell脚本,第1张

A.sh &

B.sh &

C.sh &

# &是放到后台的意思

如果是UNIX或较低发行版的Linux,建议写成这样

nohup A.sh &

#nohup可以避免退出teminal的时候发送的HUP信号使shell退出

Linux下可以有两种方式执行Shell脚本:1、用shell程序执行脚本:根据shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等(一般来说第一行#!/bin/bash里面指明了shell类型的,比如#!/bin/bash指明是bash,#!/bin/sh则是sh);然后输入命令(其中bash为shell的名称,myshell.sh则为要执行的代码):bash myshell.sh2、直接执行脚本:不过首先的加上可执行权限(也许要root权限,4情况而定),执行:请教Linux shell下如何同时执行多个脚本

当你在一个类似批处理的脚本里启动多个shell脚本的时候,可能没有意识到shell背后的调度器会将这些脚本在多个CPU上并行执行。当同时执行的脚本访问某些共享资源(通常是文件)时,可能造成执行的结果错误,而且经常让你意识不到。

不同于低级语言中提供同步等机制,shell提供的逻辑执行的机制可以用于串行化执行,例如:

1.sh

&&

2.sh

&&

[...]

不过这种方法的一个问题是如果其中有一个环节返回错误,整个流程就不能进行下去。不过一般这一点不是问题,甚至这样就是我们期望的。

剩下的问题:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7631151.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-08
下一篇2023-04-08

发表评论

登录后才能评论

评论列表(0条)

    保存