Come ottenere la funzionalità di base di Linux ps in mac?

1

In linux il comando di base ps mostra solo informazioni di base sui processi in esecuzione nello stesso terminale .

Ad esempio:

[root@localhost ~]# sleep 100 &
[1] 4071
[root@localhost ~]# ps
  PID TTY          TIME CMD
 4025 pts/2    00:00:00 bash
 4071 pts/2    00:00:00 sleep
 4078 pts/2    00:00:00 ps
[root@localhost ~]# 

Qual è il modo per ottenere lo stesso output semplice in mac?

Il ps senza opzioni in mac, stampa molte più informazioni rispetto ai processi in esecuzione nello stesso terminale.

Apparentemente c'è no ps port da linux to mac per una buona ragione

Informazioni su ps che ho: Esecuzione di El Capitan 10.11.6

$ which -a ps
/bin/ps 



$ ps --version
ps: illegal option -- -
usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]]
          [-g grp[,grp...]] [-u [uid,uid...]]
          [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]
       ps [-L]

Alcuni esempi di output

$ /bin/ps | wc -l
          69

$ ps | grep iTerm
 2462 ttys000    0:00.20 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 4157 ttys001    0:00.19 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 4241 ttys002    0:00.20 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 4296 ttys003    0:00.20 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 4380 ttys004    0:00.20 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 4456 ttys005    0:00.21 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell 
    
posta Hakan Baba 03.10.2017 - 21:05
fonte

2 risposte

5

Ho capito che la versione MacOS di ps segue le convenzioni BSD e visualizza tutti i processi associati a qualsiasi terminale di controllo. Linux ps segue le convenzioni System V / POSIX e mostra i tuoi processi sul terminale di controllo corrente .

Per replicare il comportamento POSIX, esegui solo ps -T .

    
risposta data 03.10.2017 - 21:24
fonte
2

/ bin / ps su macOS fornisce anche lo stesso stile di output del tuo esempio per me.

$ sleep 100 &
[1] 22261
$ ps
  PID TTY           TIME CMD
22124 ttys000    0:00.14 bash
22261 ttys000    0:00.00 sleep 100
$

Controlla se hai impostato un alias (esegui \ps ) e assicurati che sia / bin / ps in esecuzione.

    
risposta data 03.10.2017 - 21:08
fonte

Leggi altre domande sui tag