gpt4 book ai didi

java - 如何阻止 Bash 进入下一个循环迭代直到当前进程完成?

转载 作者:行者123 更新时间:2023-11-30 08:22:25 25 4
gpt4 key购买 nike

我有一个类似这样的 Bash 脚本

#!/bin/bash

for i in $(seq 1 100); do
nohup java -jar myProgram.jar -myParameter1 input$i -myParameter2 $i > /dev/null 2>&1 &
done

Java 程序 (myProgram.jar) 向 stderr 和 stdout 打印了很多我不需要的输出,而且至少需要 10 分钟才能运行,所以我希望能够从远程计算机注销并让它持续数小时(因此,我使用 nohup 并使用 2>&1 将 stdout 和 stderr 重定向到 /dev/null)。

但是,如果我按原样运行此脚本,它只会一个接一个地运行程序,直到内存/处理器耗尽(我想),然后运行下一个程序一次完成。我不介意发生这种情况,但它是一个共享服务器,所以我不能让它慢几个小时。有没有办法阻止 Bash 在当前 myProgram 完成运行之前进入下一个循环迭代?

最佳答案

从命令行末尾删除 & 以使其在前台运行。在行尾使用 & 会强制程序在循环中在后台运行。

关于java - 如何阻止 Bash 进入下一个循环迭代直到当前进程完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com