Laravel queue:restart is not killing workers
Stefan Bogdanescu
Founder & Senior Architect · 2026-06-29
Title: Troubleshooting Laravel Queue Workers: Understanding Why 'queue:restart' Isn't Killing Them
Introduction
Laravel is one of the most popular PHP frameworks and allows you to handle queues efficiently using its built-in queue system. However, managing such systems can be tricky, especially when dealing with workers that don't seem to terminate after executing 'queue:restart'. This blog post aims to provide a comprehensive solution for this issue while explaining the possible reasons behind it.
Problem Analysis
To troubleshoot this problem effectively, we need to understand these aspects:
1. The Laravel queue system
2. The process of restarting workers with 'queue:restart' command and how it affects running processes
3. Potential causes for the issue and their solutions
Solution 1: Restarting Supervisor
Supervisor is a process management tool that helps you monitor and control your application processes. It can also be used to launch workers. If your Laravel app is configured using Supervisor, ensure all related workers are running under the same group or process name in the configuration file. To restart the entire Supervisor service, run the following command:
```bash
sudo supervisorctl update
sudo supervisorctl restart all
```
This will kill and reinitialize the processes, resolving any issues with not-stopping workers.
Solution 2: Running 'queue:restart' Manually
If Supervisor is not involved in managing your Laravel queues, you can run "kill" commands on the running worker processes to force them to end. Then, reboot or restart the Laravel queue using the 'queue:restart' command:
```bash
ps aux | grep queue:work
-
kill -9