Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中从用户获取数据后,如何将进程放在后台_Bash_Background Process - Fatal编程技术网

在bash中从用户获取数据后,如何将进程放在后台

在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
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
好吧,我试过了,但这并不像我预期的那样有效,因为当进程进入后台时,它不会提示用户输入数据。你是对的,我误解了这个问题。很抱歉