dask - 如何可靠地清理 dask 调度程序/工作人员
问题描述
我通过 ssh 连接到一堆机器并运行dask-worker
. 我注意到,当先前实验的进程仍在运行时,我有时会遇到问题。天黑后最好的清理方法是什么?killall dask-worker dask-scheduler
似乎没有奏效,可能是因为 dask 以某种方式在他们的位置启动了新进程。
解决方案
如果你用 启动一个worker dask-worker
,你会注意到ps
它启动了多个进程,因为有一个“nanny”负责在worker崩溃的情况下重新启动它。此外,可能存在用于在两者之间进行通信的“信号量”进程,具体取决于您使用的进程生成形式。
停止所有这些的正确方法是向父进程发送 SIGINT(即键盘中断)。KILL 信号可能不会让它有机会停止和清理子进程。如果某些情况(例如,ssh 挂断)导致更彻底的终止,或者会话根本没有发送任何停止信号,那么您可能必须使用 grep ps
for dask-like 进程的输出并将它们全部杀死。
推荐阅读
- javascript - 在 UI5 javascript 代码中的浏览器上显示无响应的脚本错误
- angular - RXJS - Angular : Two Observable
should return Observable - spring-security - Spring Security 中的 httpBasic 方法是什么?
- javascript - 只有在没有错误的情况下才执行 try 语句
- javascript - 如何在highcharts boxplot中隐藏隐藏系列的xAxis类别?
- shell - 临时文件夹中的 Jenkins bash 脚本未执行
- c++ - Qt example const_cast
- build - Can someone expand what is meant by 'configure' and 'build' with CMake files
- docker - 如何使用用户命名空间在 Docker 容器中切换用户
- db2 - 将表格数据转换为饼图数据