如何可靠地清理dask调度程序/工作程序

如何可靠地清理dask调度程序/工作程序,dask,dask-distributed,Dask,Dask Distributed,我正在以一种自动化的方式启动一个dask集群,方法是将ssh连接到一堆机器上并运行dask worker。我注意到,当前一个实验中的进程仍在运行时,我有时会遇到问题。dask之后最好的清理方法是什么killall dask worker dask scheduler似乎不起作用,可能是因为dask以某种方式启动了新的进程。如果您使用dask worker启动一个工作进程,您会在ps中注意到,它会启动多个进程,因为有一个“保姆”负责重新启动工作人员,以防它以某种方式崩溃。此外,根据您使用的进程生成

我正在以一种自动化的方式启动一个dask集群,方法是将ssh连接到一堆机器上并运行
dask worker
。我注意到,当前一个实验中的进程仍在运行时,我有时会遇到问题。dask之后最好的清理方法是什么
killall dask worker dask scheduler
似乎不起作用,可能是因为dask以某种方式启动了新的进程。

如果您使用
dask worker
启动一个工作进程,您会在
ps
中注意到,它会启动多个进程,因为有一个“保姆”负责重新启动工作人员,以防它以某种方式崩溃。此外,根据您使用的进程生成形式,可能存在用于在两者之间通信的“信号量”进程

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