Crea sito
Skip to content
  • martedì, Maggio 17, 2022

ICT SERVICES ROMA-HELPDESK E BAZAAR INFORMATICO

Banner Add
  • HOME
    • Disclaimer
    • Privacy e Cookie Policy
    • Chi sono
    • Mappa Sito
  • HOW TO
  • SERVIZI
    • ASK – ASSEMBLAGGIO PC
    • S.O.S. PC – Assistenza PC Remoto- On Site
    • DRIVERS – Richiesta
    • SECURITY CHECK ON-LINE
  • Manutenzione
    • Manutenzione sistema operativo
    • Manutenzione Sequenza di avvio
    • Monitoraggio Sequenza di avvio
  • LINUX
    • Generalita’ – Basi
      • Panoramica Generale
      • Architettura di Sistema
        • Filesystem Hierarchy Standard
      • lI file system Linux
        • L’architettura di un filesystem e le proprietà dei file
      • Gestione del filesystem
        • Come montare e smontare i file system in Linux
        • Come riavviare o spegnere Linux da riga di comando
    • ISO Distro LINUX
      • Procedure di Installazione
      • ISO Linux Debian
      • ISO Linux Mint
      • ISO Arch Linux
      • ISO Kali Linux 2021.1
      • ISO Red Hat Enterprise Linux 8
      • ISO Linux Mandrake
      • ISO Linux – Ubuntu 20.04
      • Zorin OS 16
      • ISO Ubuntu 20.04 LTS
      • ISO Centos 7
    • Fondamentali di Installazione
      • Installazione di Linux – Ubuntu 20.04
      • Installazione di Ubuntu
      • 1 Cosa fare dopo aver installato Linux Ubuntu?
      • 2 Ubuntu Linux Ambiente di lavoro
      • 3 Navigazione a schede, selezioni multiple e segnalibri
      • 4 Comandi da tastiera per lavorare con i files
      • 5 Zoom, navigazione ad albero e ordinamento di files
      • 6 Connettersi a reti e ad internet
      • 7 Navigare in internet con Mozilla Firefox
      • 8 Firefox – Segnalibri, barre e preferenze
        • 9 Sincronizzare segnalibri e preferenze con Firefox Sync
        • 10 Gestire i segnalibri di Mozilla Firefox
  • TROUBLESHOOTING
    • LINUX
      • Il programma di installazione di Linux si è bloccato
      • Verifica presenza di errori nella distro Linux.
      • Modifica dell’ambiente di avvio in modalita’ permanente
    • WINDOWS
      • Il Computer non si avvia
        • Windows 7: Schermo nero all’avvio
        • Windows 8: Schermo nero all’avvio
        • Windows 10: Schermo nero all’avvio
        • Windows 11: Schermo nero all’avvio
      • Come resettare la password di Windows 10, 8.1 e 7
        • Resettare la password di Windows
        • Come resettare la password di Windows 10 quando la dimentichi
        • Soluzioni problemi comuni con il computer
  • WINDOWS *
    • DOWNLOAD ISO WINDOWS 7
    • DOWNLOAD ISO WINDOWS 8.1
      • Windows 8.1 Codecs
    • DOWNLOAD ISO WINDOWS 10
    • ISO Windows 11 (Last)
    • ISO IBM OS2/WARP
  • STAMPANTI
  • BSOD
  • REGISTRO SISTEMA
  • HARDWARE
    • Architettura PCr
      • Come e’ fatto un Computer
      • Computer e Tipologie
      • Cos’è l’hardware, l’input/output, il bus e l’interfaccia di un PC?
    • Assemblaggio
      • Configurazioni PC
      • Assemblare PC in 10 step
      • Assemblaggio : Errori da evitare
    • Componenti del pc
      • Scheda Madre
        • Scheda Madre Tipologie
        • Come montare una Scheda Madre
        • Formati delle schede madri
        • Struttura delle schede madri
        • Assemblaggio Scheda madre e CPU
        • Collegare Pin e Cavi sulla Scheda Madre
        • Montaggio Processore su MotherBoard
        • Driver della scheda madre
        • Come verificare se una scheda madre è guasta
        • Porte della scheda madre
        • Connettori ventole della scheda madre
      • Processore – CPU
        • Struttura CPU
        • Funzionamento della CPU 1° Lezione
        • Funzionamento della CPU 2° Lezione
        • Funzionamento della CPU 3° Lezione
        • Funzionamento della CPU 4° Lezione
        • Montaggio CPU su Scheda Nadre
        • Modifica Frequenza CPU
      • RAM
        • RAM: Che cosa e’
        • RAM Caratteristiche
        • RAM Quale scegliere
        • DRAM
        • SRAM
        • SDRAM
        • Errori memoria DRAM
        • Ram Disk Virtuale
        • Le 10 migliori RAM del 2021
        • Memorie DDR e Tipologie
        • Quanta memoria o RAM ?
      • Hard Disk – HD
        • Il Disco Fisso – Hard Disk
        • Struttura Hard Disk
        • Hard Disk Mode MASTER – SLAVE
        • Driver HardDisk
        • Come creare una partizione
        • Modificare le dimensioni della partizione
        • Come utilizzare lo spazio su disco non allocato in Windows
        • Gestione della partizione riservata di sistema in Windows 10
        • Come eliminare una partizione
  • DOWNLOAD
    • Drivers
      • STAMPANTI
        • DRIVERS Stampanti e Guide
        • ASUS Drivers
        • TOSHIBA Drivers
        • EPSON Drivers
        • OLIVETTI – Drivers
        • HP – Drivers
      • Store Drivers
      • Scheda Audio
      • Scheda Video
      • Modem 
      • HardDisk e USB
      • CD-ROM – DVD
      • MoBoards & BIOS
      • Stampanti
      • Scanner
    • Free Software Store
    • Modelli per Ufficio
    • Sequenza di avvio
    • Pulizia del Sistema Operativo
    • MoBoard Drivers & BIOS
      • BIOS Codici Errore
      • BIOS BEEPS
      • AWARD
      • AMI
      • AST
      • COMPAQ
      • IBM Desktop
      • BIOS IBM Mylex
      • Quadtel
      • Phoenix
  • OFFICE
    • ISO Microsoft Office
      • ISO Microsoft Office 2010 Download
      • ISO Microsoft Office 2013 Download
      • ISO Microsoft Office 2016 Download
      • Microsoft Office 2019
      • Microsoft Office – Recupero di Office
    • ISO Microsoft Works 7.0
    • ISO Microsoft Works 9.7.613
  • NETWORK
    • Topologia di rete
      • Sezioni di una rete
      • Il modello ISO / OSI
      • Cablaggio
      • Client e server
    • Indirizzi IP
      • Introduzione al TCP/IP
      • TCP/IP II Lezione
      • TCP/IP III° Lezione
      • TCP/IP IV° Lezione
      • TCP/IP V° Lezione
    • Routing
      • Protocolli di Routing
    • Nagios
  • SICUREZZA
  • TOOLS
  • TIBCO
  • VIDEO Gallery
Linux

Sessioni di lavoro e job control

25 Giugno 2021
Luca Angeli
Share this on WhatsApp
Post Views: 201
Social Links
Twitter
Facebook
LinkedIn
Pinterest
Stampa
9 / 100
Powered by Rank Math SEO
()

L’uso dell’interfaccia a riga di comando è strettamente legato all’uso di un terminale sul quale opera una shell, il terminale di controllo, all’interno di quella che viene solitamente chiamata una “sessione di lavoro”. Questo ci aveva gia portato a tracciare una distinzione fra i processi che avevamo classi cato come interattivi, perchè associati ad un terminale di controllo, visibile nell’output di ps alla colonna TTY, e quelli non interattivi, o meglio quelli che non lo sono tramite l’interfaccia a riga di comando, che non hanno nessun terminale di controllo.

Per spiegare le modalità in cui viene realizzata l’interazione tramite il terminale, occorre anticipare una caratteristica fondamentale dell’interfaccia a riga di comando. Tutte le volte che si lancia un programma che deve interagire con la riga di comando, questo si aspetta di avere a disposizione e gia aperti tre file che convenzionalmente sono chiamati standard input, standard output e standard error. Dato che questi sono i primi tre le aperti e lo sono in questa sequenza, ad essi vengono sempre assegnati rispettivamente i file descriptor 0, 1 e 2.

Convenzionalmente un programma legge i suoi dati in ingresso dal primo le descriptor, scrive i dati in uscita sul secondo, e gli eventuali errori sul terzo. Si tenga presente che e solo una convenzione, anche se seguita in maniera universale, si può tranquillamente scrivere un programma che si comporta in modo diverso, scrivendo e leggendo da un file descriptor qualunque, ma ovviamente si avranno problemi di interazione con gli altri programmi.

Quando un processo è interattivo nel senso appena illustrato, tutti e tre questi le corrispon-dono al terminale di controllo, e l’interfaccia dei terminali (cioe quella dei dispositivi di questo tipo) fa sì che in lettura il kernel faccia arrivare sullo standard input quanto scritto sulla tastiera e che quanto scritto sullo standard output venga stampato sullo schermo, o sulla nestra dentro l’interfaccia grafica, qualora si usi un emulatore di terminale, o trasmesso via rete, se si usa un terminale associato ad una connessione remota Per capire meglio questa infrastruttura vediamo un esempio della sua applicazione. Come accennato una delle modalità per utilizzare l’interfaccia a riga di comando e quella di collegarsi ad una console con la tradizionale procedura di login su terminale; nei risultati del comando ps si puo notare come sia presente il processo getty associato ad alcuni terminali virtuali (da tty1 a tty6).

In questo caso è getty che si cura dell’apertura iniziale dei tre le di standard input, standard output e standard error facendo riferimento al terminale che gli e stato indicato, nel caso una delle console virtuali, corrispondenti ai terminali da /dev/tty1 a /dev/tty6, che diventera il terminale di controllo di tutta la seguente sessione di lavoro.

Poi il programma stampa un messaggio di benvenuto e la linea “login: ” e si pone in attesa che un utente scriva sul terminale il suo “username” (il cosiddetto nome utente o nome di login), che come accennato e il nome con cui un utente si identifica presso il sistema.

Una volta che questo sia stato scritto, getty esegue direttamente il programma login che si cura di chiedere la password ed e ettuare l’autenticazione. Se questa ha successo e login che si incarica di impostare il valore del session ID per il processo in corso, cambiare gli identi cativi ad esso associati (cioe l’user ID ed il group ID per farli corrispondere a quelli dell’utente che si e collegato, ed in ne lanciare quella che si chiama una “shell di login“.

In tutta questa procedura i tre file di standard input, standard output e standard error resteranno aperti ed associati al terminale di controllo da cui si e partiti, che e quello su cui verra utilizzata la shell.

Una volta completata la procedura di collegamento avremo a disposizione una shell con un certo valore del session ID, e dato che anche questa e una proprietà che viene conservata quando si creano processi gli e si lanciano altri comandi, si avrà come conseguenza che anche tutti i processi lanciati da detta shell saranno identificati dallo stesso session ID. Tutto ciò vale anche per tutte le altre modalità con cui si può iniziare una sessione di lavoro su un terminale, che sia attraverso un emulatore ad interfaccia gra ca o un programma di connessione remota. La modalità piu comune di uso della shell e quella in cui si lancia un comando, si aspetta che questo completi le operazioni, e poi se ne lancia un altro, e cos via. Quello che succede in questo caso e che per ogni comando la shell crea un nuovo processo e si ferma in attesa che questo completi le sue operazioni. Alla conclusione del programma la shell riprende il possesso del terminale e consente di lanciare un altro comando. In genere si lavora in questo modo perch tutte le volte che si esegue un programma interattivo questo deve avere a disposizione il terminale di controllo per ricevere i dati in ingresso ed inviare i dati in uscita.Ovviamente se fosse possibile lavorare solo in questo modo si perderebbe la possibilità di eseguire contemporaneamente piu comandi e di sfruttare le capacità multitasking del sistema. Se pero si osserva il precedente risultato di ps si potrà notare come tutti i comandi citati (evince ed emacs), pur facendo riferimento allo stesso terminale, vengono eseguiti insieme: essi infatti sono stati lanciati come suol dirsi in background, in una modalità cioè in cui essi non sono agganciati al terminale.

Questa è un’altra funzionalità della shell che consente, quando si termina una linea di co-mando con il carattere “&“, di mandare in esecuzione i processi sganciati dal terminale, così che questo resti a disposizione della shell stessa per eseguire altri comandi. Se, come accade per i citati evince ed emacs con cui si interagisce attraverso l’interfaccia grafica, il programma non ha bisogno di accedere al terminale per funzionare, esso potra continuare ad eseguire le sue operazioni restando appunto “sullo sfondo”.

Vediamo allora un esempio di questo comportamento, se si lancia in background un editor testuale come jed, otterremo che l’esecuzione del comando viene immediatamente fermata, dato che ovviamente un editor necessita di interagire con il terminale per poter essere utilizzato e la shell stamper un avviso per avvisarci dell’avvenuto blocco del programma;6 avremo cioe qualcosa del tipo:

[email protected]:~/truedoc/corso$ jed prova &

[3] 22913

[3]+    Stopped

jed prova

Tutte le volte che, come nell’esempio, si manda un processo in background, la shell stampa sul terminale un valore numerico fra parentesi quadre, detto job ID (dato che in gergo si suole chiamare job un processo che lavora in background) seguito dal PID del processo. La shell infatti identi ca i processi attivi all’interno di una stessa sessione di lavoro assegnando loro un numero progressivo, il job ID, che poi puo essere utilizzato come riferimento nei vari comandi di gestione del job control. L’esempio ci mostra anche come la shell provveda a stampare una noti ca sul terminale tutte le volte che un processo viene bloccato, utilizzando di nuovo il job ID. Oltre a lanciare un processo in background ci sono casi in cui puo esser necessario fermare temporaneamente un comando in esecuzione, per eseguire un controllo o un qualche altro compito piu urgente. Abbiamo visto che è possibile fermare l’esecuzione di un processo con l’invio dei segnali SIGSTOP o SIGTSTP, il sistema del controllo di sessione sempli ca questa operazione permettendo di inviare SIGTSTP ai processi che sono attivi su un terminale, tramite la combinazione di tasti C-z, cioe l’uso del tasto \control” insieme alla lettera “z“

L’elenco dei processi in background o bloccati sul terminale puo essere stampato con il co-mando jobs, che mostra la lista e lo stato di ciascuno di essi. Si tenga presente che questo, come i seguenti bg, fg e wait, e un comando interno della shell, e non corrisponde a nessun eseguibile su disco, (vedremo la di erenza in sez. 2.1.3). Di default il comando stampa l’elenco ordinandolo per job ID, ma gli si possono fare stampare anche i PID con l’opzione -l. L’elenco riporta il job ID in prima colonna, seguito dallo stato e dal comando eseguito, nella forma:

[email protected]:~/truedoc/corso$ jobs

[1]Runningemacs struttura.tex &
[2]-Runningevince corso.pdf &
[3]+Stoppedjed prova

dove il carattere “+” indica il cosiddetto job corrente, cioe il processo su cui si e operato per ultimo, mentre il carattere “–” indica il job precedente (per maggiori dettagli consultare il manuale della bash alla sezione \JOB CONTROL“).

Quando un programma e stato fermato con C-z la shell ci consente di farlo ripartire in background con il comando bg, ovviamente se questo dovesse cercare di eseguire un accesso a terminale si bloccherebbe immediatamente, per questo e inutile usare bg su un comando che si e fermato per questo motivo: si fermera di nuovo. Un processo puo essere riassociato al terminale, cioe essere rimesso, come suol dirsi, in foreground, con il comando fg, se il processo era stato fermato in attesa di poter disporre del terminale in questo modo viene anche fatto ripartire.

Se non si specifica nulla sia bg che fg che tutti gli altri comandi del controllo di sessione agiscono sul job corrente. Qualora si voglia invece agire su uno specifico job si puo speci care come parametro sia il testo della riga di comando, che il numero di job ID stampato da jobs e questo puo essere indicato sia direttamente che preceduto da un carattere \%“. Quest’ultima sintassi puo essere usata anche con il comando kill, se questo e realizzato come comando interno della shell come avviene nel caso di bash, per mandare i segnali ad un processo identi cato per job ID piuttosto che per PID. Se si vuole aspettare la fine di uno specifico comando che si è mandato in background si puo usare il comando wait, passandogli di nuovo il job ID come argomento.

Una volta che si voglia terminare una sessione ed uscire dalla shell si puo usare il comando exit o la combinazione di tasti C-d che, corrisponde ad inviare un carattere di end-of- file sul terminale, cosa che segnala alla shell che lo si vuole chiudere e con questo terminare la sessione di lavoro. Se si cerca di uscire dalla shell e chiudere la sessione ma ci sono job in background o bloccati, la shell stamperà un avviso senza uscire, così da poter provvedere a risolvere la situazione. Se però si ripete immediatamente la richiesta di chiusura, questa verrà onorata e la shell verrà terminata insieme ai processi pendenti.

Il comando exit prende anche un argomento opzionale che costituisce lo stato di uscita e viene usato principalmente per uscire all’interno degli script.

Vuoi abilitare le notifiche?
Desiderate avere la possibilita’ di ricevere delle notifiche? Se si avrete la possibilita’ di essere sempre aggiornati con le nostre ultime proposte o notizie . Consigliamo l’adesione Grazie !
Attiva

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Share this on WhatsApp
Tags: /dev/tty1 a /dev/tty6, 1 e 2., evince ed emacs, file descriptor, file descriptor 0, getty, interfaccia a riga di comando, login, PS, Sessioni di lavoro e job control, shell di login, TTY

Navigazione articoli

La shell
Sintassi e funzionalità di base della riga di comando

SOCIAL LINKS

UTENTI IN LINEA

5.553 utenti In linea
Utenti: Luca Angeli, 2.972 ospiti, 2.580 bot

COSA CERCHI ? (scrivi o usa il microfono)

CERCA Categorie

Cerca Video

OFFICINE INFORMATICHE ROMA

https://www.officineinformaticheroma.it/wp-content/uploads/2021/11/VIDEO-2.mp4

COSA CERCHI ? (scrivi o usa il microfono)

ICT OFFICINE INFORMATICHE ROMA

Qui potete trovare: Articoli e guide su Windows, Hardware, Networking, Outlook, Linux e il mondo Open Source, Unix, Facebook, Helpdesk con Whatsapp. e altro ancora..

Potresti anche leggere

News ICT Microsoft Office Troubleshooting

Impossibile modificare i documenti di Word 2016 

16 Maggio 2022
Luca Angeli
News ICT Downloads Drivers

Driver scheda video

16 Maggio 2022
Luca Angeli
News ICT Downloads Drivers

Drivers scheda audio

16 Maggio 2022
Luca Angeli
News ICT Assemblaggio Hardware

Scheda video

16 Maggio 2022
Luca Angeli
News ICT Linux

Risoluzione dei problemi di Linux – Introduzione

13 Maggio 2022
Luca Angeli
News ICT VMWare

Errore “Questa macchina virtuale sembra essere in uso” in VMware Workstation

13 Maggio 2022
Luca Angeli
News ICT Linux

Zorin OS 16

11 Maggio 2022
Luca Angeli
News ICT Documenti Troubleshooting

Come firmare PDF con Acrobat Reader

10 Maggio 2022
Luca Angeli
News ICT OpenOfice

OpenOffice – Richiede ripetutamente di registrarsi

9 Maggio 2022
Luca Angeli
News ICT Sicurezza

Ransomware: Che cos’è, come si prende e come rimuoverlo.

6 Maggio 2022
Luca Angeli
News ICT Sicurezza

Il ransomware che si spaccia per un aggiornamento di Windows

6 Maggio 2022
Luca Angeli
News ICT Hardware

Come Velocizzare Il Computer: Ottimizza La RAM

30 Aprile 2022
Luca Angeli
TIBCO

TIBCO- API client

22 Aprile 2022
Luca Angeli
Nagios

Nagios: caratteristiche e funzionalità

22 Aprile 2022
Luca Angeli
News ICT Linux Microsoft Office

Come installare Microsoft Office su Linux

22 Aprile 2022
Luca Angeli
TIBCO

TIBCO – Panoramica di JMS

22 Aprile 2022
Luca Angeli
News ICT Windows11

Come aggiungere una stampante in Windows 11

9 Aprile 2022
Luca Angeli
News ICT Windows11

Come cambiare tema su Windows 11

9 Aprile 2022
Luca Angeli
News ICT Software

Come aumentare lo spazio su disco virtuale della VM su VirtualBox

4 Aprile 2022
Luca Angeli
Assemblaggio Hardware

ASSEMBLAGGIO E CONFIGURAZIONI PC

31 Marzo 2022
Luca Angeli
News ICT Hardware

Assemblare PC Gaming con 600 Euro

31 Marzo 2022
Luca Angeli
News ICT News

SMARTPHONE (o tablet) ANDROID, SMARRITO ? ECCO COME LOCALIZZARLO

27 Marzo 2022
Luca Angeli
News ICT How To Windows10

Come riparare Windows 10 utilizzando il prompt dei comandi

25 Marzo 2022
Luca Angeli
News ICT Hardware Troubleshooting

Come controllare il modello e il numero di serie della scheda madre

18 Marzo 2022
Luca Angeli
News ICT Stampanti - Printers Troubleshooting

Chrome: Impossibile stampare file su PC

17 Marzo 2022
Luca Angeli
News ICT How To Windows

Procedura per attivazione Windows 10

16 Marzo 2022
Luca Angeli
News ICT Antivirus Sicurezza

Antivirus e Tools di Sicurezza Download Gratuito

16 Marzo 2022
Luca Angeli
Hardware

Lo strumento Microsoft DumpChk

14 Marzo 2022
Luca Angeli
News ICT Regedit Troubleshooting

Chiavi di registro (regedit), correggere errori e migliorare le prestazioni su Windows

10 Marzo 2022
Luca Angeli
Linux

KALI LINUX 2021.1

6 Marzo 2022
Luca Angeli
Linux

Ubuntu 20.04 LTS

6 Marzo 2022
Luca Angeli
Microsoft Office

Descrizione Microsoft Office

3 Marzo 2022
Luca Angeli
Windows10 Assistenza How To

S.O.S. PC – ASSISTENZA DA REMOTO E IN LOCALE

25 Febbraio 2022
Luca Angeli
Downloads Drivers

SERVIZIO RICERCA DRIVERS AGGIORNATI

23 Febbraio 2022
Luca Angeli
Assistenza Downloads

ASK – SERVIZIO ASSEMBLAGGIO COMPUTER (FREE)

23 Febbraio 2022
Luca Angeli
HelpDesk Downloads

PROVA IL SERVIZIO HELPDESK WHATSAPP

23 Febbraio 2022
Luca Angeli
Windows7

Correggi l’errore di ripristino del sistema 0xc0000020 su Windows 10/11

22 Febbraio 2022
Luca Angeli
News ICT Troubleshooting Windows11

Windows11: Schermo nero all’avvio

19 Febbraio 2022
Luca Angeli
News ICT HelpDesk

ICT Officine Informatiche Roma – Helpdesk

19 Febbraio 2022
Luca Angeli
News ICT Stampanti - Printers

Stampanti Brother FAQ e Risoluzione dei problemi

18 Febbraio 2022
Luca Angeli
News ICT Stampanti - Printers

Stampante Brother: Non riesce a stampare su una rete wireless (Wi-Fi) (Windows)

18 Febbraio 2022
Luca Angeli
Downloads Software

Software Antimalware Download

16 Febbraio 2022
Luca Angeli
News ICT Sicurezza

 Download Gratuito Avast Free Antivirus

13 Febbraio 2022
Luca Angeli
News ICT Sicurezza

Download Gratuito: Panda Antivirus Free

13 Febbraio 2022
Luca Angeli
News ICT Outlook Troubleshooting

Configurazione e-mail con Outlook 2016

11 Febbraio 2022
Luca Angeli
News

AZIENDA CESSATA ATTIVITA’

8 Febbraio 2022
Luca Angeli
News ICT LibreOffice

Libreria”Tools” di LibreOffice 7.3

3 Febbraio 2022
Luca Angeli
News ICT Regedit

Pulizia del registro di sistema

3 Febbraio 2022
Luca Angeli
Linux

Funzionalità di base della shell

28 Gennaio 2022
Luca Angeli
Linux

Bash e Shell

28 Gennaio 2022
Luca Angeli

Cerca nel sito

COSA CERCHI ? (scrivi o usa il microfono)

ICT Officine Informatiche Roma sui Social Network

Segui ICT Officine Informatiche Roma

Copyright © 2022
Privacy Policy
Proudly Powered by: WordPress
Sito Web di divulgazione scientifica e supporto gratuito. Sviluppatore e CEO : Luca Angeli - Anno 2019

Apri un sito e guadagna con Altervista - Disclaimer - Segnala abuso - Mappa del Sito - Notifiche Push - Privacy Policy - Personalizza tracciamento pubblicitario