首页 > 解决方案 > 有没有办法用一个脚本同时运行多个 bash 脚本?

问题描述

我正在使用 python 和 selenium 运行 Instagram 机器人。我使用 bash 脚本运行带有帐户凭据(用户名、密码、主题标签等)的 python 脚本我运行了多个 Instagram,因此我制作了该文件的多个副本。有没有办法把它放在一个我可以点击并运行的文件中?要打开多个运行其指定帐户的终端?

我已经尝试将它们添加到一个大文件中,但脚本在前一个完成之前不会运行。

另外,由于我使用的是 selenium,因此在 python 中尝试多线程有些困难,但如果有人能指出我可以从哪里开始,我不介意走那条路。

#!/bin/sh
cd PycharmProjects/InstaBot
python3 W.py

标签: pythonlinuxbashubuntuterminal

解决方案


shell中只有一个进程可以在前台模式下运行。因此,该命令仅在前一个完成时才会执行。在命令行末尾添加“&”符号告诉 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" &

推荐阅读