在bash中从用户获取数据后,如何将进程放在后台
我想运行process在bash中从用户获取数据后,如何将进程放在后台,bash,background-process,Bash,Background Process,我想运行processprocess\u name,它使用不同的-b和-e选项一个接一个地从用户获取数据,如下所示。 现在,我希望这些进程在后台运行,这样我就可以在process\u name-b 100-e 200之后运行process\u name-b 0-e 100 #!/bin/bash i=0 while [ $i -lt 1000 ] do # echo "$i" j=$[$i + 100] process_name -b $i -e $j i=$[$i + 100
process\u name
,它使用不同的-b
和-e
选项一个接一个地从用户获取数据,如下所示。
现在,我希望这些进程在后台运行,这样我就可以在process\u name-b 100-e 200
之后运行process\u name-b 0-e 100
#!/bin/bash
i=0
while [ $i -lt 1000 ]
do
# echo "$i"
j=$[$i + 100]
process_name -b $i -e $j
i=$[$i + 100]
done
如何在不使用nohup等的情况下执行此操作?最简单的解决方案是在命令末尾添加“&”:
process_name -b $i -e $j &
您的进程将在执行后立即进入后台。您将找到所有使用“ps”或“jobs”命令运行的作业。我找到了一个令我满意的解决方案。也就是说,我只是重定向了
进程名称的标准输入,带有:
process_name -b $i -e $j < input.txt &
process_name-b$i-e$j
好吧,我试过了,但这并不像我预期的那样有效,因为当进程进入后台时,它不会提示用户输入数据。你是对的,我误解了这个问题。很抱歉