加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash:在后台启动多个命令

发布时间:2020-12-15 16:13:42 所属栏目:安全 来源:网络整理
导读:我试图运行一些命令在paralel,在后台,使用bash。这里是我想做的: forloop { //this part is actually written in perl //call command sequence print `touch .file1.lock; cp bigfile1 /destination; rm .file1.lock;`;} 反引号(“)之间的部分产生一个新
我试图运行一些命令在paralel,在后台,使用bash。这里是我想做的:
forloop {
  //this part is actually written in perl
  //call command sequence
  print `touch .file1.lock; cp bigfile1 /destination; rm .file1.lock;`;
}

反引号(“)之间的部分产生一个新的shell,并连续执行命令。事情是,对原始程序的控制只有在最后一个命令执行后才返回。我想在后台执行整个语句(我不期望任何输出/返回值),我想循环继续运行。

调用程序(有循环的程序)不会结束,直到所有的生成shell完成。

我可以使用perl中的线程来生成不同的线程调用不同的shell,但似乎一个overkill …

我可以启动一个shell,给它一组命令,并告诉它去背景?

我没有测试这个,但如何
print `(touch .file1.lock; cp bigfile1 /destination; rm .file1.lock;) &`;

括号意味着在子shell中执行,但不应该伤害。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读