@ Paolo
Questo script é opera tua di qualche anno fa...
La domanda é: come hai fatto a distinguere i pid in main, update, player ecc?codice:#!/bin/bash # per prima cosa eseguo 'ps' ed uso il suo output # per ottenere un array con i pids di mpd: # mpd_tid=($(ps -C mpd -L --no-headers -o tid)) # poi verifico che il numero di threads sia quello previsto: # if [ ${#mpd_tid} -lt 4 ]; then echo -e "\nToo few (${#mpd_tid}) threads found: is mpd running?\nAbort." exit 1 elif [ ${#mpd_tid} -gt 4 ]; then echo -e "\nSomething is wrong: too many ((${#mpd_tid})) threads found!\nAbort." exit 2 fi # else -> ok, expected number of threads # set desired policies & priorities: # chrt -v -r -p 1 ${mpd_tid[0]} # main # chrt -v -r -p 1 ${mpd_tid[1]} # update chrt -v -r -p 60 ${mpd_tid[2]} # player chrt -v -r -p 60 ${mpd_tid[3]} # decoder chrt -v -r -p 60 ${mpd_tid[4]} # output # use somthing like: # ps -C mpd -L -o tid,cmd,nlwp,ni,pri,cls,rtprio # to check! # Hint: see the relevant man pages! # man bash # man ps # man chrt
voglio adattarlo ad altre applicazioni...
è specifico... lo desumevo banalmente dall'ordine in cui sono avviati da MPD (e quindi proprio dal thread id progressivo). Se l'applicazione che vuoi controllare si comporta allo stesso modo non c'è problema. Se invece avvia/riavvia i thread in ordine sparso, l'unica è sperare che l'applicazione assegni un nome specifico ed univoco a ciascun thread (o quanto meno a ciascun "tipo" di thread, a seconda di cosa devi farci).
Puoi vedere con "ps -C comando_del_processo -L".
Ciao, Paolo.
«Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»
edit
Ultima modifica di antonellocaroli : 29-05-2018 a 20:38 Motivo: Rimosse immagini Raspberry 32bit
Edit, spostato
Edit
Ultima modifica di antonellocaroli : 22-08-2018 a 12:26
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
Ci sono attualmente 2 utenti che stanno visualizzando questa discussione. (0 utenti e 2 ospiti)