En informàtica un procés és una instància d'una aplicació que esta essent executada per una computadora
Tot procés s’identifica amb un número únic, el PID (Process IDentifier). L'encarregat de gestionar els processos és el nucli del sistema operatiu (kernel) i disposa d'una taula de processos on cada procés es identificat pel seu PID.
Una aplicació no pot crear un procés directament. Es necessari demanar al sistema operatiu que crei el procés i el gestioni. Es disposa de dos crides de sistema per tal de poder crea processos:
fork: permet que un procés crei un nou procés. Aquest nou procés es anomenat procés fill exec: permet executar una aplicació externa. es tanca la linia de comandes i sobre la nova aplicació.
És l’arrel de la jerarquia de processos Linux. init, un procés a nivell de sistema que s’engega cada cop que iniciem el sistema. si matem el init matem el sistema. per això existeix la comanda init.
El PID i PPID del procés init és 1, o dit d’una altra manera init és el seu propi pare.
Vegeu l'ordre pstree
[email protected]:~$ pstree -p | head
init(1)-+-NetworkManager(1774)-+-dhclient(1946) | `-{NetworkManager}(1949) |-acpid(1976) |-atd(1989) |-avahi-daemon(1759)---avahi-daemon(1768) |-bonobo-activati(4426)-+-{bonobo-activat}(4429) | `-{bonobo-activat}(4441) |-clock-applet(4467)---{clock-applet}(4477) |-console-kit-dae(2150)-+-{console-kit-da}(2172) | |-{console-kit-da}(2186)
modificar procés en modo nena.(entor grafic)
Detener proces Continuar proces Finalitzar proces
Vegeu l'ordre ps
jobs veus els treballs que estan ejecutanse.
fg 1 aquell treball que esta aturat es posa en marxa bloquejant la consola. bg 1 aquell treball que esta aturat es posa en marxa en segon pla.
control + \ per aturrar b.
$ sleep 100 ^\Salir (`core' generado)
El mode per defecte en que s'executa una ordre a la línia d'ordres és en primer pla. Per executar una comanda en segon pla, s'utilitza l'operador &
$ ordre &
Per exemple:
$ sleep 10 & [1] 3698 $ [1]+ Fet sleep 10
Hi ha 3 formes d'acabar prematurament un procés que s'està executant en primer pla:
La majoria de sistemes operatius de la família Unix (UNIX-like), l'ordre ps (process status) permet visualitzar els processos que s'estàn executant.
Hi han diferents implementacions de la comanda ps, les quals difereixen sobretot en la forma d'utilitzar les opcions. Podem destacar 3 versions principals:
ps sense res:
[email protected]:~$ ps PID TTY TIME CMD 2069 pts/2 00:00:00 bash 2885 pts/2 00:00:00 ps
PID identificador del procès
TTY es la terminal que estem usan
TIME el temps que ha usat la CPU
CMD comanda.
prcessos teus
per veure tot usarem la comanda mostra tots els procesos siguin de qui siguin
$ ps aux
per buscar un proces en concret usem la comanda
$ ps aux | grep bash
[email protected]:~$ ps aux | grep bash risa 1955 0.0 0.1 8656 3440 pts/0 Ss+ 09:42 0:00 bash risa 2011 0.0 0.1 8656 3440 pts/1 Ss+ 09:43 0:00 bash risa 2069 0.0 0.1 8724 3620 pts/2 Ss 09:43 0:00 bash
per veure procesos de un usuari usarem la següent comanda
$ ps aux -u root
[email protected]:~$ ps -u root PID TTY TIME CMD 1 ? 00:00:00 init 2 ? 00:00:00 kthreadd 3 ? 00:00:00 ksoftirqd/0
* 9.2 kill, killall o 9.2.1 xkill * 9.3 top * 9.4 Alternatives a top o 9.4.1 htop o 9.4.2 atop
[email protected]:~$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX
Exemple de matar proces amb el kill.
Primer mirem el PID
$ ps aux | grep firefox risa 2283 6.3 6.3 471668 127892 ? Sl 09:43 2:54 /usr/lib/firefox-7.0.1/firefox
Un cop tens el PID usem la comanda kill
$ kill 2283
ja esta tancat.
killall es com el kill -9
-20 a 19 el -20 es mes prioritat i el 19 es menos prioritat.
la comanda top te postra els processos ordenats per %CPU
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1676 risa 20 0 293m 91m 23m S 5 4.6 1:23.07 compiz 1033 root 20 0 87468 20m 7424 S 4 1.0 1:38.14 Xorg 1948 risa 20 0 107m 23m 12m S 3 1.2 0:09.79 gnome-terminal 1631 risa 20 0 6976 3268 916 S 0 0.2 0:14.23 dbus-daemon 3560 risa 20 0 2820 1168 868 R 0 0.1 0:00.65 top
Aquesta comanda s'usa per conviar la prioritat d'un proces.
Mostra el temps que porta en execució una màquina i els usuaris
$ uptime 10:48:33 up 1:07, 3 users, load average: 0.01, 0.16, 0.20
Instal·lació del conku
$ sudo apt-get install conky
un cop fet això ejecutem el conky (per defecte surt a la esquerra)
Per canviar el lloc on surt editem el seguent arxiu de configuració /etc/conky/conky.conf