我使用Amazon Linux AMI 2018.03在AWS t2.micro实例上运行Python脚本(版本3.6.8)。该脚本运行两个长时间运行的线程,如下所示。
我使用htop监控CPU和内存使用情况,它显示了我的脚本的两个进程都占用了资源。根据输出,似乎并没有两个进程在实际运行。在我开发脚本的macOS上,htop只显示了我的脚本的一个进程。下面的第一个图像显示了Linux上折叠的进程,第二个图像以树状视图显示它们。
我是否以错误的方式使用Python线程?或者,macOS和Linux显示python脚本的进程不同吗?
from threading import Thread
from time import sleep
def thread(sec_sleep):
while 1:
print('sleep', sec_sleep)
sleep(sec_sleep)
def init_services():
t = Thread(target=thread, args=(1, ))
t.daemon = True
t.start()
def main():
init_services()
thread(2)
if __name__ == "__main__":
main()


发布于 2020-01-09 14:07:30
首先,这并没有什么错。默认情况下,htop将单个线程显示为单独的进程。如果您正在按capital H,它将只显示主进程(再次按可切换回主进程)。
https://stackoverflow.com/questions/59657690
复制相似问题