首页 > 解决方案 > 如何可靠地清理 dask 调度程序/工作人员

问题描述

我通过 ssh 连接到一堆机器并运行dask-worker. 我注意到,当先前实验的进程仍在运行时,我有时会遇到问题。天黑后最好的清理方法是什么?killall dask-worker dask-scheduler似乎没有奏效,可能是因为 dask 以某种方式在他们的位置启动了新进程。

标签: daskdask-distributed

解决方案


如果你用 启动一个worker dask-worker,你会注意到ps它启动了多个进程,因为有一个“nanny”负责在worker崩溃的情况下重新启动它。此外,可能存在用于在两者之间进行通信的“信号量”进程,具体取决于您使用的进程生成形式。

停止所有这些的正确方法是向父进程发送 SIGINT(即键盘中断)。KILL 信号可能不会让它有机会停止和清理子进程。如果某些情况(例如,ssh 挂断)导致更彻底的终止,或者会话根本没有发送任何停止信号,那么您可能必须使用 grep psfor dask-like 进程的输出并将它们全部杀死。


推荐阅读