【问题标题】:Running multiple processes through shell script通过shell脚本运行多个进程
【发布时间】:2016-07-13 03:21:44
【问题描述】:

我有一个服务器可执行文件myserver。我必须使用不同的 IP 地址启动 5 个实例(通过命令行提供)。这是我尝试过的:

for i in `seq 1 5`
do
    ip="127.0.0.$i"
    myserver $ip
done

问题是启动第一个myserver后,控制权没有来到终端。如何在后台启动进程?

附加&myserver $ip & 没有帮助。很可能,我对用于在后台运行进程的最后一个 & 做错了。

编辑:myserver 必须不断侦听绑定到其 IP 和默认端口的套接字。因此,它内部有一个无限循环。

【问题讨论】:

    标签: bash shell process background-process


    【解决方案1】:
    for i in {1..5}
    do
        ip="127.0.0.$i"
        myserver "$ip" &
    done
    
    wait # for all backgrounded jobs to finish
    

    【讨论】:

    • 最后的wait 很优雅。 :) 但可能是可选的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多