Dans la majorité des systèmes Unix, la commande ps affiche les processus machines en cours d'execution. Un utilitaire similaire top affiche en temps réel les processus actifs.
La commande ps est similaires à la commande "tasklist" de Microsoft Windows. Dans Windows PowerShell, ps est un alias pré-défini de la commande "Get-Process" qui a globalement la même fonction.
Par exemple :
# ps PID TTY TIME CMD 7431 pts/0 00:00:00 su 7434 pts/0 00:00:00 bash 18585 pts/0 00:00:00 ps
Un utilisateur peut aussi joindre la commande ps avec la commande "grep" pour filtrer les informations affichées.
On pourra par exemple utiliser grep
ainsi :
# ps -A | grep firefox-bin 11778 ? 02:40:08 firefox-bin 11779 ? 00:00:00 firefox-bin
Ps a de nombreuses options. Sur un système supportant le standard POSIX, la commande ps est utilisée avec en général avec l'option -ef. L'option -e permet d'afficher tous les processus (every), alors que l'option -f permet d'afficher toutes les informations disponibles par ps (full).
La majorité des systèmes issus de BSD n'ont pas les mêmes options. Cela est dû à des conflits d'intérêts historiques entre les développeurs des systèmes (par exemple l'option -e affiche les variables d'environnement). Sur ces systèmes on utilise souvent l'option aux. L'option a liste tous les processus (all). L'option u affiche l'utilisateur des processus (user) et l'option x affiche la liste des processus sans terminal (terminal x). Il est à noter que pour une inter-opérabilité optimale, le signe - n'est pas présent devant les options.