As per the file, it should create two process of queue:listen
however
when I run ps aux | grep php it shows 4 processes with two as queue:listen and two as queue:work as given below
That's normal behavior for queue:listen - it works by running a queue:work command (spawning a child process) that runs once (processes one job) before being killed and replaced with a new queue:work process.
Each queue:work process is a child process of a queue:listen process.
You can see this more clearly if you use the htop command and display using the tree view (via the f5 key)
Having the queue:listen command (re)start a new queue:work process for each job lets you update the code base without having to restart the workers (in theory).