[root@polgara:~]$ adduser test
Adding user test...
Adding new group test (1001).
Adding new user test (1001) with group test.
Creating home directory /home/test.
Copying files from /etc/skel
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for test
Enter the new value, or press return for the default
Full Name []: Utente di test
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/n] y
[root@polgara:~]$
Questo comando fa alcune operazioni:
associa all'utente un numero (UID) che lo identifica univocamente nel sistema (root ha uid=0, nobody 65535, gli utenti di sistema hanno 1>uid>999
inserisce l'utente in un gruppo (GID)
crea la home-directory dell'utente
aggiunge una entry nel file /etc/passwd:
[root@polgara:~]$ cat /etc/passwd .... test:x:1001:1001:Utente di test,,,:/home/test:/bin/bash [root@polgara:~]$
Notare che solitamente (e contrariamente ad altri sistemi Unix) viene grato anche un gruppo che identifica il solo utente, nel nostro caso il gruppo test.
A questo punto l'utente può entrare nel sistema e lanciare i suoi programmi (detti anche processi).
le modalità fondamentali con cui si possono lanciare i processi sono due: in foreground e in background.
Nella prima l'utente attende che l'esecuzione del suo processo termini prima di riottenere il prompt della shell
Nella seconda invece il prompt viene restituito subito e il processo continua l'esecuzione. In questo modo l'utente può continuare a lavorare e quindi, volendo, potrebbe lanciare altri programmi in background.
Per mandare il processo in background si usa la & dopo il comando:
[biko@polgara:~]$ bluefish & [biko@polgara:~]$ gimp &
Per controllare quali e quanti processi abbiamo in background si usa il comando
[biko@polgara:~]$ jobs [1]- Running bluefish & [2]+ Exit 127 gimp [biko@polgara:~]$
Per controllare invece quali processi abbiamo o più in generale ci siano in esecuzione sul sistema possiamo usare due comandi:
> ps
> top
il primo mostra i processi di nostra proprietà che abbiamo lanciato dalla shell corrente.
con lo switch u ci mostra invece tutti i processi di nostra proprietà.
per vedere tutti i processi in esecuzione sul sistema possiamo usare gli switch aux
> man ps #per maggiori informazioni :=)
[biko@polgara:~]$ ps u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND biko 708 0.0 0.2 2228 1036 tty1 S May20 0:00 -bash biko 841 0.0 0.2 2032 788 tty1 S May20 0:00 /bin/sh /usr/bin/ biko 848 0.0 0.1 2184 552 tty1 S May20 0:00 xinit /usr/X11R6/ biko 853 0.0 0.6 4352 2572 tty1 S May20 0:12 /usr/bin/WindowMa biko 883 0.0 0.5 4260 2272 tty1 S May20 0:01 x-terminal-emulat biko 884 0.0 0.6 4300 2320 tty1 S May20 0:10 x-terminal-emulat biko 885 0.0 0.5 4260 2268 tty1 S May20 0:00 x-terminal-emulat biko 886 0.7 0.2 2364 884 tty1 S May20 6:12 wmapm biko 887 0.0 0.2 2504 936 tty1 S May20 0:00 wmtime biko 888 0.0 0.3 2260 1320 pts/0 S May20 0:00 bash biko 891 0.0 0.3 2228 1268 pts/2 S May20 0:00 bash biko 894 0.0 0.3 2232 1272 pts/1 S May20 0:00 bash biko 3972 0.0 0.5 3496 2064 tty1 S May20 0:00 /usr/bin/gconfd-1 biko 3993 0.0 1.2 7548 4776 pts/0 S May20 0:15 bluefish biko 7992 0.0 0.3 2256 1304 tty2 S May20 0:00 -bash biko 13173 0.0 0.3 3300 1416 pts/2 R 02:04 0:00 ps u [biko@polgara:~]$
Top invece mostra i "top CPU processes". Il comando si autoaggiorna di default ogni 5 secondi, ma sono specificabili intervalli diversi (da riga di comando con il parametro -d o in maniera interattiva premendo il tasto s)
> man top
ATTENZIONE: se lanciate un processo in background e questo necessita di input da tastiera, il processo rimarrà bloccato. Per riportarlo in foreground si usa il comando
>fg n (dove n è il numero associato al nostro processo indicato dal comando jobs visto in precedenza)
ATTENZIONE: se il processo in background deve scrivere a video (e non avete rediretto opportunamente lo standard-output come vedrete fra un paio di lezioni), lo farà. Molto scomodo soprattutto se state nel frattempo editando altri file....