我正在运行由 tmuxinator 配置的 tmux 服务器。在一个窗格中,我的 django 服务器正在运行:
python manage.py run_gunicorn
如果我通过调用kill-server
命令退出 tmux,则该run_gunicorn
命令不会像我预期的那样被终止,而是被发送到后台:
$ ps aux | grep gunicorn
alp 3358 1.0 0.1 126988 21728 ? S 13:06 0:00 python manage.py run_gunicorn
如何在退出 tmux 服务器的同时退出其中所有正在运行的进程?
答案1
我找到了一种替代方法,即在我的 tmuxinator 配置中添加一行:
pre: pkill -f "^python manage.py run_gunicorn"
开头^
的 仅匹配使用该命令启动的进程。如果没有它,您也会终止 tmux 进程。
这并不能解决剩余后台进程的问题,但它会在重新启动 tmux 会话时终止所有旧进程,对我来说这是一个可以接受的解决方法。