linux - 在后台运行 linux 命令的同步问题

标签 linux synchronization background-process

我必须运行三个阻塞linux命令(command1、command2和command3),并且我实现了同步,这样如果用户使用terminal2运行command2,而command1在terminal1中执行,我的服务器会返回一个错误,指出command1仍在执行。命令3 也一样。但是如果我做一个像下面这样的循环

for i in {1..3}; do { command$i & }; done

所有三个都开始并行执行,这是不希望的。这是同步错误还是我不应该以这种方式运行这些命令?在后台运行命令与在不同终端中运行命令不一样吗?

我觉得我在这里遗漏了一些明显的东西。请赐教。

最佳答案

& 符号将作业置于后台,该作业会立即返回并具有并行运行它们的效果。要连续运行它们,请删除 &。

关于linux - 在后台运行 linux 命令的同步问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25671790/

相关文章:

linux - Perl replace 从脚本而不是 bash 生成空文件

linux - 导出在 shell 中不起作用

检查aio_write是否完成

android - 将 Android 应用排除在待机桶之外

python - 在 X 中获取事件窗口标题

linux - 使用rm删除大量UUID格式命名文件

javascript - Javascript 事件处理程序会阻塞吗?

linux - Linux 中内核空间和用户空间之间的原子行为?

c# - 后台按键监听器

ios7 - 当应用程序在 iOS 7 后台运行时将数据发送到服务器