如何杀死气流调度程序和网络服务器?
how to kill airflow scheduler and webserver?
我是 airflow 的新手,尝试通过启动 airflow 网络服务器和调度程序来 运行 一个 dag。在我关闭 scheduler 和 airflow 网络服务器后,airflow 进程仍然 运行ning.
ps aux | grep airflow
显示 2 个 airflow 网络服务器 运行ning,以及所有 dag 的调度程序 运行ning。
我尝试了 运行宁 kill $(ps aux | grep airflow | awk '{print }')
但没有帮助。
我没有 sudo
权限和网络服务器 UI 访问权限。
如果您 运行 在本地使用 Airflow 并使用 airflow scheduler
和 airflow webserver
这两个命令启动它,那么这些进程将 运行 在前台运行。因此,只需按 Ctrl-C 即可终止它们及其所有子进程。
如果您没有在前台运行这两个进程 运行ning,还有另一种方法。 Airflow 在其主目录中创建具有调度程序和 gunicorn 服务器进程 ID 的文件(默认 ~/airflow/
)。
运行
kill $(cat ~/airflow/airflow-scheduler.pid)
应该终止调度程序。
不幸的是,airflow-webserver.pid
包含 gunicorn 服务器的 PID 而不是启动它的初始 Airflow 命令(它是 gunicorn 进程的父进程)。所以,我们首先要找到gunicorn进程的父PID,然后kill父进程。
运行
kill $(ps -o ppid= -p $(cat ~/airflow/airflow-webserver.pid))
应该终止网络服务器。
如果只是 运行ning kill
(即发送 SIGTERM)对这些进程不起作用,您可以随时尝试发送 SIGKILL:kill -9 <pid>
。这绝对应该杀死他们。
我是 airflow 的新手,尝试通过启动 airflow 网络服务器和调度程序来 运行 一个 dag。在我关闭 scheduler 和 airflow 网络服务器后,airflow 进程仍然 运行ning.
ps aux | grep airflow
显示 2 个 airflow 网络服务器 运行ning,以及所有 dag 的调度程序 运行ning。
我尝试了 运行宁 kill $(ps aux | grep airflow | awk '{print }')
但没有帮助。
我没有 sudo
权限和网络服务器 UI 访问权限。
如果您 运行 在本地使用 Airflow 并使用 airflow scheduler
和 airflow webserver
这两个命令启动它,那么这些进程将 运行 在前台运行。因此,只需按 Ctrl-C 即可终止它们及其所有子进程。
如果您没有在前台运行这两个进程 运行ning,还有另一种方法。 Airflow 在其主目录中创建具有调度程序和 gunicorn 服务器进程 ID 的文件(默认 ~/airflow/
)。
运行
kill $(cat ~/airflow/airflow-scheduler.pid)
应该终止调度程序。
不幸的是,airflow-webserver.pid
包含 gunicorn 服务器的 PID 而不是启动它的初始 Airflow 命令(它是 gunicorn 进程的父进程)。所以,我们首先要找到gunicorn进程的父PID,然后kill父进程。
运行
kill $(ps -o ppid= -p $(cat ~/airflow/airflow-webserver.pid))
应该终止网络服务器。
如果只是 运行ning kill
(即发送 SIGTERM)对这些进程不起作用,您可以随时尝试发送 SIGKILL:kill -9 <pid>
。这绝对应该杀死他们。