使用shell scrip并行执行多个脚本

2024-06-01 20:47:30 发布

您现在位置:Python中文网/ 问答频道 /正文

通常我使用python命令在不同的终端上启动两个不同的gearman worker,一旦这些gearman worker准备就绪,我就执行客户端文件,向两个监听工人发送请求。在

我试图把这三个命令都放在shellscript中,并一次性执行它们,但不能

#!/bin/sh
python /root/Desktop/karim/temp_git/ATD_final/ATD_allClass/classifier_allClass.py
python /root/Desktop/karim/temp_git/ATD_final/ATD_lessClass/classifier_lessClass.py
python ans_type.py 1

它给出了:

^{pr2}$

之后,我尝试将这个python命令放在同一个目录中的.sh中,并执行shell脚本

在allClass.sh类公司名称:

#!/bin/sh
python /root/Desktop/karim/temp_git/ATD_final/ATD_allClass/classifier_allClass.py

在小类.sh在

python /root/Desktop/karim/temp_git/ATD_final/ATD_lessClass/classifier_lessClass.py

在最终.sh公司名称:

#!/bin/sh
sh /root/Desktop/karim/temp_git/ATD_final/ATD_allClass/allClass.sh
sh /root/Desktop/karim/temp_git/ATD_final/ATD_lessClass/less_lessClass.py
python ans_type.py 1

在最终.sh在

#!/bin/sh
sh /root/Desktop/karim/temp_git/ATD_final/ATD_allClass/allClass.sh
sh /root/Desktop/karim/temp_git/ATD_final/ATD_lessClass/less_lessClass.py
python ans_type.py 1

它给出了:

sh: 0: Can't open /root/Desktop/karim/temp_git/ATD_final/ATD_allClass/allClass.sh
link-grammar: Info: Dictionary found at /usr/share/link-grammar/en/4.0.dict
Traceback (most recent call last):

Tags: pygit命令binshatdroottemp
1条回答
网友
1楼 · 发布于 2024-06-01 20:47:30

我想,你的问题是工人们一个接一个地被处决,而不是同时被处决。当您像以前一样在不同的终端中启动这三个python脚本时,它们将同时执行。您可能想尝试在一个bash脚本中启动这三个脚本,但是使用三个不同的子shell。 i、 电子邮箱:

( python path/to/first/worker/FirstWorker.py )
( python path/to/second/worker/SecondWorker.py )
( python path/to/client/Client.py )

根据http://www.tldp.org/LDP/abs/html/subshells.html,你称之为子shell。也许在后台用&启动它们可能会有帮助,如下所示:

^{pr2}$

你甚至可以重定向工人的输出,但我不太确定怎么做。。。希望对你有帮助。。。在

相关问题 更多 >