从另一个python scrypt调用python脚本使同一个套接字端口保持繁忙

2024-04-19 08:33:40 发布

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

我的目标是运行一个接受客户机命令的socket服务器。此服务器将用于显示进程状态、终止和启动python脚本。 现在服务器工作正常,监听端口48410。 每当在服务器脚本中启动另一个python脚本(使用suprocess.call)时,被调用的脚本运行,但服务器停止在端口48410上工作。 客户端脚本有一个套接字,但使用不同的端口。如果我使用fuser检查是谁让48410端口忙,我会看到我的主服务器和被调用的python脚本。 我这样称呼剧本:

subprocess.call(['python /home/pi/zpp/loggy7/loggy7.py'], shell=True)

这就是我在通话后得到的ps -ax |grep logg

13084 ?        S      0:00 /bin/sh -c python /home/pi/zpp/loggy7/loggy7.py
13086 ?        S      0:00 python /home/pi/zpp/loggy7/loggy7.py

我使用fuser查看谁在使用该端口:

pi@raspy:~ $ fuser -vi 48410/tcp
48410/tcp:           pi        13048 F.... python
                     pi        13084 F.... sh
                     pi        13086 F.... python

无论我试图运行第二个python脚本是什么,即使它只是一个不使用套接字的脚本,它也会得到相同的端口繁忙。结果是,如果我退出主脚本,在停止调用的脚本之前,我无法再次运行它。你知道吗


Tags: 端口py命令服务器脚本目标home客户机