Shell:如何在命令行超时时停止它?;

Shell:如何在命令行超时时停止它?;,shell,apache-spark,Shell,Apache Spark,如果命令运行超过1分钟,我想停止该命令,然后继续运行下一个命令 for((part=0;part<=100;part++)); do spark-submit \ --verbose \ --master yarn \ --deploy-mode cluster \ --conf spark.pyspark.python=myenv/bin/python3 \ python_demo.py $part done 预期: spark-submit -> if run more t

如果命令运行超过1分钟,我想停止该命令,然后继续运行下一个命令

for((part=0;part<=100;part++)); 
do
spark-submit \
--verbose \
--master yarn  \
--deploy-mode cluster \
--conf spark.pyspark.python=myenv/bin/python3 \
python_demo.py $part
done
预期:

spark-submit -> if run more than 1 minutes(It means a successful submission)-> spark-submit next part

使用timeout命令,您可以执行以下操作:

for((part=1;part<=100;part++))
do
    timeout 60 2>/dev/null spark-submit \
    --verbose \
    --master yarn  \
    --deploy-mode cluster \
    --conf spark.pyspark.python=myenv/bin/python3 \
    python_demo.py $part

    if [[ $? != 0 ]]
    then
        break
    else
        continue
    fi
done
((part=1;part/dev/null)的
\
--冗长的\
--母纱\
--部署模式群集\
--conf spark.pyspark.python=myenv/bin/python3\
python_demo.py$part
如果[[$?!=0]]
然后
打破
其他的
持续
fi
完成

使用timeout命令,您可以执行以下操作:

for((part=1;part<=100;part++))
do
    timeout 60 2>/dev/null spark-submit \
    --verbose \
    --master yarn  \
    --deploy-mode cluster \
    --conf spark.pyspark.python=myenv/bin/python3 \
    python_demo.py $part

    if [[ $? != 0 ]]
    then
        break
    else
        continue
    fi
done
((part=1;part/dev/null)的
\
--冗长的\
--母纱\
--部署模式群集\
--conf spark.pyspark.python=myenv/bin/python3\
python_demo.py$part
如果[[$?!=0]]
然后
打破
其他的
持续
fi
完成

听说过
超时
实用程序吗?查一下。听说过
超时
实用程序吗?查一下。