How to list all background pids in bash
Use ps S
. For example:
$ vim &[1] 8263$ ipython &[2] 8264$ ps S PID TTY STAT TIME COMMAND 3082 pts/0 Ss 0:00 bash 3137 pts/0 Sl+ 0:00 python /usr/bin/ipython 8207 pts/2 Ss 0:00 bash 8263 pts/2 T 0:00 vim 8264 pts/2 Tl 0:00 python /usr/bin/ipython 8284 pts/2 Tl 0:00 python /usr/bin/ipython 8355 pts/2 R+ 0:00 ps S
If you want get PIDs use below:
$ ps S | awk '{print $ 1 }' | grep -E '[0-9]'30823137820782638264828483578358835
Also you can use jobs -l
But it show background processes only for current session.
But the same does not seem to work for process id?
You can try jobs -l
or -p
. The -l
and -p
switches cause the jobs
command to also output process IDs.
In bash, as in tcsh, the command you probably want is jobs -l
(for Long).
[ghoti@pc ~]$ sleep 300 &[1] 33811[ghoti@pc ~]$ sleep 301 &[2] 33812[ghoti@pc ~]$ sleep 302 &[3] 33813[ghoti@pc ~]$ jobs -l[1]- 33811 Running sleep 300 &[2]- 33812 Running sleep 301 &[3]+ 33813 Running sleep 302 &[ghoti@pc ~]$