Warning: Cannot assign an empty string to a string offset in /membri/recruitingservices71roma/wp-includes/class.wp-scripts.php on line 492
Gestione dei processi | ICT Officine Informatiche Roma
Crea sito

ICT Officine Informatiche Roma

ICT SERVICES ROMA

Gestione dei processi

In ambiente Unix si parla di processo per indicare un programma in esecuzione. Sappiamo che Unix e un sistema operativo multitasking, ma no ad ora abbiamo sfruttato questa caratteristica solo grazie alla multiutenza, che ci permetteva di "toccare con mano" il fatto che la macchina, avendo più utenti collegati contemporaneamente, stava effettivamente elaborando più di un programma.

In ambiente Unix si parla di processo per indicare un programma in esecuzione. Sappiamo che Unix è un sistema operativo multitasking, ma fi no ad ora abbiamo sfruttato questa caratteristica solo grazie alla multiutenza, che ci permetteva di “toccare con mano” il fatto che la macchina, avendo più utenti collegati contemporaneamente, stava effettivamente elaborando più di un programma.

Per sfruttare pienamente e con comodità il multitasking si deve disporre di un terminale gra fico che ci permetta di aprire sullo schermo più finestre in cui lanciare contemporaneamente diversi processi in modalità interattiva; dove è possibile fare altrettanto su un normale terminale alfanumerico, ma anche in questo caso si deve disporre di un programma (ad esempio screen) che ci consenta di simulare un
ambiente con più fi nestre.

Vedremo in maggiore dettaglio l’ambiente X Window in seguito, per ora ci limiteremo a dire che è possibile lanciare delle applicazioni che lavorano autonomamente ed indipendentemente dalle altre in una regione dello schermo ( finestra) riservata ad ognuna di esse.

Per lanciare un’applicazione, come al solito è necessario dare un comando al prompt della shell, ma cosi facendo, come abbiamo visto no ad ora, non possiamo utilizzare contemporaneamente sullo stesso terminale un altro programma, almeno fi no a quando non saremo usciti dal programma in esecuzione. Esiste un modo per sganciare il processo ” figlio” (il programma da eseguire) dal processo “padre” (ad esempio la shell da cui si lancia il programma) rendendo i due processi indipendenti ed autonomi.

Se aggiungiamo il carattere”&” (e commerciale) alla fine della riga che invoca un certo comando, tale comando sara’ eseguito in una ” sessione” separata e quindi potremo utilizzare contemporaneamente la shell (da cui possiamo nel frattempo lanciare altri processi) ed il programma che abbiamo lanciato.
Questo è possibile a patto che il programma “fi glio” non richieda una interazione da parte dell’utente mediante il terminale (ad esempio un input da tastiera, o una  visualizzazione molto “verbosa” di messaggi in output).

Vediamo un esempio molto semplice che possiamo provare anche su un normale terminale alfanumerico. Il comando yes visualizza una serie di “y” sullo schermo

Interruzione e  sospensione di un programma, Control-c, Control-z
Per interrompere l’esecuzione di un programma dobbiamo battere Ctrl-c (break). Se invece di interromperlo volessimo solo sospenderne temporaneamente l’esecuzione, invece di break dovremmo battere Ctrl-z (stop):

$ yes
y
y
y

(l’utente batte Ctrl-z )
[1]+ Stopped yes
$ _

×

Benvenuto !

Fai clic su uno dei nostri specialisti elencati di seguito per avviare una chat di supporto su WhatsApp o inviaci un'e-mail a helpdesk [email protected]

You are Wellcome !

Click one of our helpdesk specialist below to start a chat on WhatsApp or send us an email to [email protected]

 

× HELPDESK