Numero di thread del processo x?

0

Il mio AppleScript ha bisogno di ottenere il conteggio dei thread del processo x.

Ho provato molti codici ps etc, ma tutti questi non funzionano per qualche motivo.

Ho provato questi:

do shell script "ps uH p 301 | wc -l" -->"       0"
do shell script "ps axo pid,ppid,rss,vsz,nlwp,cmd" --> error "ps: nlwp: keyword not found
    
posta clueless5 23.03.2013 - 18:43
fonte

2 risposte

3

ps su OS X accetta opzioni diverse da ps su Linux. Dai un'occhiata a man ps per vedere l'elenco dettagliato delle parole chiave supportate. Per i thread ho trovato quanto segue (ma non so se questa è l'informazione che stai cercando):

 wq         total number of workqueue threads
 wqb        number of blocked workqueue threads
 wqr        number of running workqueue threads

PS: consiglierei di testare prima tutti i comandi di livello unix in Terminal / bash e di passare a AppleScript solo quando funzionano come previsto. Sei molto più flessibile in bash e anche i messaggi di errore potrebbero tornare migliori / più utili.

    
risposta data 23.03.2013 - 20:30
fonte
1

ps -M PID | grep -v USER | wc -l darà il conteggio dei thread. Sostituisci PID con l'ID di processo del processo in questione. L'opzione -M stampa una riga per thread del processo, quindi grep elimina la riga dell'intestazione e wc -l assegna il conteggio.

L'AppleScript finirà per essere qualcosa come do shell script "ps -M " & process_id & " | grep -v USER | wc -l" , dove process_id è una variabile AppleScript.

    
risposta data 23.03.2013 - 20:42
fonte

Leggi altre domande sui tag