Table of Contents

Pornirea și oprirea aplicațiilor

Pe un sistem se găsesc mai multe aplicații. Utilizatorul pornește aplicația potrivită pentru o nevoie pe care o are. De exemplu, pornește un browser web pentru a accesa Wikipedia sau pornește aplicația Spotify pentru a asculta muzică.

Utilizatorul poate porni aplicațiile folosind interfața grafică (Graphical User Interface, GUI) sau interfața în linia de comandă (Command Line Interface, CLI). În cazul interfeței grafice pornirea se face folosind elementele grafice (mouse, meniuri, iconuri de desktop). În cazul interfeței în linia de comandă pornirea se face introducând și rulând comenzi.

Pornirea și oprirea aplicațiilor grafice

Pornirea unei aplicații grafice folosind linia de comandă

Pe lângă cele două moduri de mai sus, pornirea unei aplicații grafice poate fi realizată din linia de comandă (CLI), folosind șirul care identifică aplicația, la fel ca în cazul folosirii Alt+F2. Pentru a porni o aplicație grafică din linia de comandă, avem nevoie de un terminal. Terminalul este un dispozitiv în care rulează o aplicație numită shell, care este interpretorul comenzilor introduse. Pe parcursul acestui capitol și a întregii cărți vom folosi interschimbabil shell și terminal.

Pornim o aplicație de terminal folosind fie iconul corespunzător, fie Alt+F2 urmat de șirul (comanda) gnome-terminal. În aplicația de terminal, pornim aplicația Firefox scriind șirul (comanda) firefox, urmat de apăsarea tastei Enter, ca în imaginea de mai jos. Aplicația Firefox va porni.

Ponirea Firefox din linia de comandă

În acest moment, în aplicația de terminal nu mai putem introduce noi comenzi pentru a porni alte aplicații. Va trebui să oprim aplicația Firefox. Oprim aplicația Firefox din mediul grafic (click pe butonul de închidere a ferestrei sau folosirea combinației de taste Alt+F4) sau din terminal, folosind combinația de taste Ctrl+c.

Exerciții

  1. La fel ca mai sus, porniți aplicația LibreOffice folosind linia de comandă.

Menținerea accesului la terminal

Atunci când pornim o aplicație grafică din linia de comandă, aplicația “acaparează” terminalul; nu mai putem introduce noi comenzi pentru a porni alte aplicații. Putem rezolva acest lucru prin trecerea aplicației grafice în backgroundul shellului. Adică urmăm pașii:

student@uso:~$ firefox
^Z
[1]+  Stopped                 firefox
student@uso:~$ bg
[1]+ firefox &

În acest mod, avem aplicația Firefox în rulare și avem acces la terminal să introducem noi comenzi.

Exercițiu: Folosiți pașii de mai sus pentru a porni și aplicația LibreOffice din linie de comandă și să mențineți accesul la terminal.

Vom afla mai multe despre background și suspendarea proceselor în Oprirea proceselor. Semnale.

Pornirea aplicațiilor în linia de comandă

Pornirea de aplicații CLI folosind linia de comandă

Aplicațiile CLI, numite și utilitare, sunt proiectate pentru a fi pornite și folosite în linia de comandă. Cel mai adesea numim aplicațiile în linie de comandă utilitare sau, pur și simplu, comenzi. Scriem numele utilitarului / comenzii într-un terminal și utilitarul va fi pornit1). De exemplu, dacă dorim să afișăm utilizatorii prezenți în sistem, pornim o aplicație de terminal și folosim utilitarul who:

student@uso:~$ who
student  :0           2020-09-04 17:42 (:0)
student  pts/0        2020-09-19 15:57 (192.168.56.1)

Sau, dacă dorim să vedem câtă memorie avem (disponibilă) în sistem, folosim utilitarul free:

student@uso:~$ free
              total        used        free      shared  buff/cache   available
Mem:        2040972     1025716       83824       32916      931432      794692
Swap:        777300       37056      740244

Exerciții

  1. Porniți utilitarul ls (de listare a conținutului unui director în linia de comandă (CLI)) folosind linia de comandă.
  2. Porniți utilitarul df (de afișare a spațiului ocupat pe disc) folosind linia de comandă.

Argumente în linia de comandă

Pentru a porni aplicații / utilitare în linia de comandă, folosim comenzi care conțin numele utilitarului urmate, eventual, de argumente. Astfel, pentru a porni utilitarele ls sau ps, folosim comenzi precum cele de mai jos, simple sau cu argumente:

student@uso:~$ ls
Desktop  Documents  Downloads  examples.desktop  Music  Pictures  Public  snap  Templates  uso.git  Videos  vm-actions-log.txt
student@uso:~$ ls -l
total 60
drwxr-xr-x  2 student student 4096 Aug  6  2018 Desktop
drwxr-xr-x  3 student student 4096 Aug 20  2018 Documents
drwxr-xr-x  2 student student 4096 Aug  6  2018 Downloads
-rw-r--r--  1 student student 8980 Aug  6  2018 examples.desktop
drwxr-xr-x  2 student student 4096 Aug  6  2018 Music
drwxr-xr-x  2 student student 4096 Aug  8 11:52 Pictures
drwxr-xr-x  2 student student 4096 Aug  6  2018 Public
drwxr-xr-x  3 student student 4096 Aug  8 09:02 snap
drwxr-xr-x  2 student student 4096 Aug  6  2018 Templates
drwxr-xr-x 14 student student 4096 Aug 20  2018 uso.git
drwxr-xr-x  2 student student 4096 Aug  6  2018 Videos
-rw-r--r--  1 student student 4827 Aug 21  2018 vm-actions-log.txt
student@uso:~$ ps
  PID TTY          TIME CMD
 3370 pts/4    00:00:00 bash
 7979 pts/4    00:00:00 ps
student@uso:~$ ps -f
UID        PID  PPID  C STIME TTY          TIME CMD
student   3370  3369  0 08:55 pts/4    00:00:00 -bash
student   7982  3370  0 13:17 pts/4    00:00:00 ps -f

Oprirea forțată a aplicațiilor în linia de comandă

Se poate întâmpla ca o aplicație în linia de comandă să ruleze pentru prea mult timp sau să se blocheze. Caz în care dorim să o oprim. Soluția de avarie este să închidem fereastra de terminal, lucru care, de obicei, închide și aplicația. Soluția mai bună este să închidem doar aplicația. Acest lucru îl facem folosind combinația de taste Ctrl+c care oprește aplicația care rulează în terminal2). Acest lucru poate fi realizat și pentru aplicații grafice, așa cum am văzut mai sus.

De exemplu, dacă folosim comanda sleep 100 care se va bloca pentru 100 de secunde, o vom opri folosind Ctrl+c ca mai jos:

student@uso:~$ sleep 100
^C
student@uso:~$

Exercițiu: Folosiți următoarea comandă care pornește o aplicație care durează mult și opriți-o forțat:

Note de subsol

1) Spre deosebire de scenariul folosirii Alt+F2, când folosim aplicații CLI în linia de comandă, mesajele vor fi vizibile. Acest lucru se întâmplă pentru că linia de comandă înseamnă existența unui terminal unde putem vizualiza mesajele.
2) Pentru anumite aplicații combinația de taste Ctrl+c poate să nu funcționeze. În acest caz putem folosi combinația de taste Ctrl+\, mai puternică. Dacă nici Ctrl+\ nu funcționează, va trebui să trimitem aplicației un semnal mai puternic care să o oprească. Vom discuta despre semnale în Oprirea proceselor. Semnale.