我正在从java程序运行shell脚本。 shell脚本将启动多个scrapy爬虫。
#!/bin/bash
cd /Users/renny/Documents/WorkSpaces/Scrapy/tutorial
scrapy crawl flipkart -a key="$1" -o "$2"flipkart.xml
scrapy crawl myntra -a key="$1" -o "$2"myntra.xml
scrapy crawl jabong -a key="$1" -o "$2"jabong.xml
shell脚本不会等待scrapy搜寻器的完成。 我希望shell脚本仅在子进程完成后退出。 任何帮助表示赞赏。
答案 0 :(得分:2)
我不确定如何调用该流程,但让我们称之为scrapy
,然后您可以通过忙碌等待实现此目的。
while [ $(ps | grep scrapy | wc -l) -ge 1 ]; do
sleep 1;
done
exit 0
或者可选地等同于
while [[ -n $(ps | grep scrapy) ]]; do
sleep 1;
done
exit 0