Cerca nel sito:
ricerca
avanzata

Frasi Celebri...

Molto spesso, col cambiare del governo, per i poveri cambia solo il nome del padrone.

Fedro 

Sondaggio:

Chi è la donna più sexy del mondo?

Cindy Crawford
Jennifer Lopez
Sabrina Ferilli
Maraiah Carey
Manuela Arcuri
Christina Aguilera
Cameron Diaz
Pamela Anderson
Nina Morich
Maria Grazia Cucinotta
Megan Gale
Naomi Campell
Britney Spears

visualizza risultati


 

Cosa sta succedendo veramente?

È importante capire che il controllo dei job viene fatto dalla shell. Non esiste nel sistema un programma fg; piuttosto fg, bg, &, jobs e kill sono tutti comandi interni alla shell (qualche volta kill è un programma indipendente, ma la shell bash usata da Linux ce l'ha interno). Questo è un modo logico di procedere: siccome ogni utente ha il proprio spazio per il controllo dei job, e ogni utente ha già la sua shell, è più semplice far controllare i job dell'utente alla shell. Quindi, ogni numero di job di un utente si riferisce soltanto a quell'utente: il mio job numero [1] e il tuo job numero [1] sono due processi totalmente differenti. In effetti, se siete loggati più di una volta, ogni vostra shell avrà dati diversi per controllare i job, così ogni utente può avere due job diversi con lo stesso numero in due shell diverse.

Il modo per riferirsi in modo sicuro ad un processo è mediante il numero di identificazione di processo, o Process ID (PID). Questo numero viene assegnato dal sistema: ogni processo ha un PID univoco. Due utenti diversi possono riferirsi ad un processo mediante il suo PID e sapere che si stanno riferendo allo stesso processo (assumendo che siano loggati nella stessa macchina!).

Diamo un'occhiata ad un altro comando per capire cosa sono i PID. Il comando ps elenca tutti i processi in esecuzione, compresa la vostra shell. Provate. Ha anche alcune opzioni: le più importanti (secondo molti) sono a, u e x. L'opzione a elencherà i processi di tutti gli utenti, non solo i vostri. L'opzione x mostrerà i processi che non hanno un terminale associato (principalmente sono programmi di sistema che non comunicano con l'utente attraverso la tastiera). Infine, l'opzione u dà ulteriori informazioni sui processi, che spesso sono utili.

Per avere davvero un'idea di cosa sta facendo il sistema, mettete insieme tutte le opzioni: ps -aux. Potete vedere i processi che usano più memoria guardando la colonna %MEM, e più tempo di CPU sulla colonna %CPU (la colonna TIME elenca il tempo totale di CPU usato).

Un'altra nota veloce sui PID. kill, oltre ad accettare le opzioni nella forma %numero-job, accetta direttamente anche i PID. Così, mettete yes > /dev/null in background, eseguite ps e cercate yes. Quindi digitate kill PID (in genere è più semplice eliminare il processo tramite il numero di job invece che con il PID).

Se iniziate a programmare in C nel vostro sistema Linux, imparerete che il controllo dei job della shell è soltanto una versione interattiva delle chiamate fork e execl. È troppo complesso da vedere qui, ma potrebbe essere utile ricordarlo più avanti quando dovrete programmare e vorrete eseguire processi multipli di un singolo programma.

 

successivo
–«  INDICE  »–

 

 

 

 
Powered by paper&pencil (carta&matita ) - Copyright © 2001-2009 Cataldo Sasso