我通过将ssh-ing到一堆机器中并运行dask-worker
,以自动化方式启动dask集群。我注意到,有时上一个实验的流程仍在运行时,我有时会遇到问题。黄昏后清理的最佳方法是什么? killall dask-worker dask-scheduler
似乎无法解决问题,这可能是因为dask不知何故启动了新流程。
答案 0 :(得分:1)
如果您使用dask-worker
启动工作程序,您会在ps
中注意到,它启动了多个进程,因为在工作程序启动的情况下,有一个“保姆”负责重启工作程序不知何故崩溃。另外,根据您使用的是哪种形式的进程,可能会有“信号量”进程在两者之间进行通信。
阻止所有这些行为的正确方法将是向父进程发送SIGINT(即键盘中断)。 KILL信号可能不会使它有机会停止和清理子进程。如果某些情况(例如ssh挂断)导致了更彻底的终止,或者某个会话根本没有发送任何停止信号,那么您可能必须grep ps
的输出以进行类似dask的进程,并且杀死他们全部。