我正在使用python和selenium运行instagram机器人。我使用bash脚本运行带有帐户凭据(用户名,密码,#标签等)的python脚本,因此我运行多个Instagram,因此我为此文件制作了多个副本。有没有一种方法可以将其放在一个我可以单击并运行的文件中? 要打开多个运行其分配帐户的终端?
我已经尝试过将它们添加到一个大文件中,但是脚本不会运行,直到上一个脚本完成。
此外,由于即时通讯使用硒,因此在python中尝试多线程有些困难,但如果有人可以指出我的出发点,那就不介意走那条路了。
#!/bin/sh
cd PycharmProjects/InstaBot
python3 W.py
答案 0 :(得分:0)
我强烈建议所有人阅读有关Bash Job Control的信息。
如果您的瓶颈与CPU无关,那么进入多线程是可笑的矫kill过正。
for script in PycharmProjects/InstaBot/*.py; do
python3 "$script" &
done
jobs
答案 1 :(得分:0)
shell中只有一个进程可以在前台模式下运行。因此,仅在前一个命令完成时才执行命令。 在命令行末尾添加“&”符号告诉Shell该命令应在后台执行。这样外壳将启动python并继续运行而无需等待。
这将同时执行两个实例,但是它们都将输出到同一终端:
#!/bin/sh
cd PycharmProjects/InstaBot
python3 W.py first_credentials &
python3 W.py second_credentials &
您可以使用相同的技术为每个python脚本启动一个新的终端进程:
#!/bin/sh
cd PycharmProjects/InstaBot
gnome-terminal -e "python3 W.py first_credentials" &
gnome-terminal -e "python3 W.py second_credentials" &