Vi è mai capitato di trovarvi nella necessità di usare il vostro Mac usufruendone appieno anche mentre il sistema è impegnato in una qualche operazione estremamente onerosa, come la conversione di un filmato in MPEG-2 o un rendering di Blender?
Spesso, a seconda della potenza del vostro computer, potreste ritrovarvi con un sistema estremamente poco reattivo, a volte lento al punto da non riuscire effettivamente a compiere ciò che si vuole compiere in modo ragionevolmente rapido.
Se non volete interrompere l'operazione pesante ma vi va bene metterla in pausa per continuarla in seguito i sistemi
POSIX offrono, tra i vari
segnali, qualcosa che fa al caso vostro:
SIGSTOP.
SIGSTOP permette di mettere in pausa un processo a tempo indeterminato, liberando il processore da qualunque operazione ad esso collegata, permettendogli quindi di dedicarsi ad altro. La RAM utilizzata dal processo in questione non viene liberata automaticamente, ma il sistema la trasferisce automaticamente nei files di swap (quelli che noi utenti Mac amiamo chiamare "Memoria Virtuale") in caso di bisogno.
SIGCONT è l'opposto di
SIGSTOP e fa ripartire il processo fermato.
Ci sono innumerevoli modi per invocare questi segnali, quello che utilizzo abitualmente si appoggia al comando
killall (non c'è nulla di cui spaventarsi:
killall è un comando dalle innumerevoli funzioni, solo alcune delle quali effettivamente "uccidono" dei processi).
Per prima è necessario individuare il nome reale del processo che si vuole fermare. Ciò può essere fatto tramite i comandi
top o
ps, tra gli altri, ma un metodo semplice da impiegare quando si è su OS X consiste nel guardare nella colonna "Nome Processo" dell'applicazione Monitoraggio Attività (ovvero /Applications/Utilities/Activity Monitor).
Una volta ottenuto il nome del processo basterà dare, da terminale (Applications/Utilities/Terminal) il comando
killall -STOP nomeprocesso
per sospendere l'esecuzione dello stesso.
Prevedibilmente, per riprenderla basterà dare il comando sottostante.
killall -CONT nomeprocesso
Come quasi sempre in ambiente POSIX gli spazi e alcuni caratteri possono non sembrare semplicissimi da gestire, se il nome del processo ne contiene (o contiene qualche carattere "strano") fareste quindi meglio a racchiuderlo tra virgolette, come nel seguente esempio.
killall -STOP "Toast Titanium"
Buona sospensione dei processi a tutti.
Le ultime notizie relative a questo argomento Fermare i processi senza interromperli (14/01/2009 - 17:18) letto 6410 volte
pdisk: breve storia ed utilizzo (28/04/2007 - 19:35) letto 6491 volte
Tutte le notizie relative a questo argomento