2012-10-05 79 views
0

我運行Ubuntu的服務器上的Python腳本雖然的cronjob波紋管是我的bash文件內容的cronjob等問題

#!/bin/bash 
cd /home/ubuntu/ 
PATH=$PATH:/usr/local/bin 
export PATH 
nohup scrapy crawl first_job & 
nohup scrapy crawl second_job & 
nohup scrapy crawl third_job & 
wait $(pgrep third_job) 
nohup scrapy crawl fourth_job & 

我想是fourth_job開始執行,只要third_job完整

目前即使third_job完整,fouth_job等待first_jobsecond_job完成

在此先感謝

+0

您確定'pgrep third_job'只返回_pid_ for'third_job'而不是所有三個作業的_pids_嗎? –

回答

5

更安全的方式來獲得最後的後臺進程的PID是要記住的$ !:

nohup scrapy crawl third_job & 
PID=$! 
wait $PID 
+0

感謝您的回答如果我喜歡等待second_job,就像second_job結束,第四次開始,無論1,3是完成還是仍在運行? –

+0

@akhterwahab:在你想等待的工作開始之後立即放置'PID = $!'這一行。 – choroba