开始两个永不结束的python脚本

2024-09-30 20:25:26 发布

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

有没有合适的方法来启动两个永远不会结束的python脚本?你知道吗

我有一个Bash脚本。。我只想让它在不同的端口上启动两个python服务器应用程序。但很明显,当我使用第一个python命令时,它将永远循环

在杀死bash脚本时,有没有办法杀死这两个python脚本?你知道吗

    #!/bin/bash

python RunConstantly.py
python RunConstantly2.py

也许用python做这个更好?你知道吗


Tags: 方法端口py命令脚本bashbin服务器应用程序
2条回答

除非以某种方式阻止bash脚本在最后一行退出,否则最好正确命名脚本,并将nohup&一起使用。你知道吗

nohup python Work1.RC1.py > RC1.log 2> RC1.err &
nohup python Work1.RC2.py > RC2.log 2> RC2.err &

当需要终止任务时,请在正在运行的进程列表中搜索脚本的名称

ps aux | grep Work1

然后用你找到的进程ID杀死他们

kill -10 pid

或者,如果您知道系统中没有进程名称冲突,您可以链接这些命令(这就是为什么正确地命名脚本在第一步非常重要)

ps aux | grep Work1 | awk '{print $2}' | xargs -I{} kill -10 {}
#!/bin/bash
python RunConstantly.py  &
python RunConstantly2.py &
trap 'kill $(jobs -p)' EXIT
wait

如果两个后台进程都死掉或终止,那么wait命令结束,脚本将正常退出。你知道吗

如果中断bash脚本(即使用Ctrl C),那么陷阱将终止后台作业。你知道吗

相关问题 更多 >