Bash脚本:产生多个进程问题
所以我写了一个脚本来调用一个进程365次,它们应该分10批运行,所以这是我写的,但是有很多问题- 1.日志消息未写入日志文件,我在err文件中看到错误消息 2.有一个“Command not found”错误,我一直从行进程的脚本中得到。 3.即使命令没有成功,它也不会打印失败,而是打印成功Bash脚本:产生多个进程问题,bash,scripting,wait,backticks,Bash,Scripting,Wait,Backticks,所以我写了一个脚本来调用一个进程365次,它们应该分10批运行,所以这是我写的,但是有很多问题- 1.日志消息未写入日志文件,我在err文件中看到错误消息 2.有一个“Command not found”错误,我一直从行进程的脚本中得到。 3.即使命令没有成功,它也不会打印失败,而是打印成功 #!/bin/bash set -m FAIL=0 for i in {1..10} do waitPIDS=() j=$i while [ $j -lt 366 ]; do exec
#!/bin/bash
set -m
FAIL=0
for i in {1..10}
do
waitPIDS=()
j=$i
while [ $j -lt 366 ]; do
exec 1>logfile
exec 2>errorfile
`process $j &`
waitPIDS[${#waitPIDS[@]}]=$!
j=$[$j+1]
done
for jpid in "${waitPIDS[@]}"
do
echo $jpid
wait $jpid
if [[ $? != 0 ]] ; then
echo "fail"
else
echo "success"
fi
done
done
怎么了
谢谢 至少,这一行:
`process $j &`
不应该有任何反勾。你可能只是想:
process $j &
除此之外,您正在覆盖您的日志文件,而不是附加到它们;这是有意的吗?至少,这一行:
`process $j &`
不应该有任何反勾。你可能只是想:
process $j &
除此之外,您正在覆盖您的日志文件,而不是附加到它们;是这样吗?谢谢,是的,backtick是问题所在,但我认为bash脚本中的任何进程都应该在backtick下运行。是的,我忘了在日志中添加$j,因为我正在为每个实例创建一个日志。谢谢,是的,backtick是个问题,但是我认为bash脚本中的任何进程都应该在backtick下运行。是的,我忘记在日志中添加$j,因为我正在为每个实例创建日志。