Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1
Uruchamianie programów w systemie Linux,
potoki, strumienie, procesy, alias
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 2
Plan zajęć
1. Programy i ich uruchamianie w systemie Linux, strumienie, potoki.
2. Procesy :
•
monitorowanie procesów,
•
procesy pierwszo- i drugoplanowe,
•
komunikacja z procesami, wysyłanie sygnałów.
3. Aliasy
4. Zmienne środowiskowe
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 3
Plik – program, uruchomienie programu
[student@lcme14 student]$ ls -l /
p
u
b/
p
ro
gramy
wyświetlenie zawartości katalogu
/pub/programy
-rw-r--r-- 1 kubzdela people 1450 paz 11 12:04 opis
-rwxr-xr-x 1 kubzdela people 1450 paz 11 12:02 prog1
-rw
x
r-xr-x 1 kubzdela people 1450 paz 11 12:03 prog2
-rwxr-xr-x 1 kubzdela people 1450 paz 11 12:03 prog3
-rwxr-xr-x 1 kubzdela people 1450 paz 11 12:04 prog4
Program do wykonania
Rozwijanie nazw
przez system
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 4
Plik – program, uruchomienie programu
[student@lcme14 student]$ /pub/programy/prog1
uruchomienie programu
prog1
(oblicza wartość liczby
π)
3,14159
/pub/programy/prog2
uruchomienie programu
prog2
(oblicza kwadrat podanej liczby)
podaj x=
4
16.0
lub
cd /pub/programy
./prog2
cd
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 5
Przetwarzanie danych, wejście – wyjście, strumienie
Strumień
- ciąg bajtów, który może być przesyłany miedzy aplikacjami
(poleceniami), przesyłany do pliku lub na terminal, pobierany z pliku lub
terminala, itd.
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 6
[student@lcme14 student]$
/pub/programy/prog1 > ~/liczba_pi
wykonanie programu
prog1
, przekierowanie strumienia wyjściowego -
wynik zapisany do pliku
liczba_pi
more ~/liczba_pi
wyświetlenie zawartości pliku
liczba_pi
3.14159
/pub/programy/prog2 < ~/liczba_pi
wykonanie programu
prog2
, przekierowanie strumienia wejściowego -
dane wejściowe (liczba której ma zostać obliczony kwadrat) zostają
pobrane z pliku
liczba_pi
podaj x=
9.86959
Przetwarzanie danych, wejście – wyjście, strumienie
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 7
/pub/programy/prog1 >> liczba_pi
wykonanie programu
prog1
, wynik dopisany do pliku
liczba_pi
more liczba_pi
wyświetlenie zawartości pliku
liczba_pi
3.14159
3.14159
Przetwarzanie danych, wejście – wyjście, strumienie
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 8
Przetwarzanie danych, wejście – wyjście, strumienie
[student@lcme14 student]$ echo system linux
system linux
echo system linux > ~/napis
[student@lcme14 student]$ more ~/napis
system linux
echo jest the best >> ~/napis
dopisanie tekstu do pliku
system linux
jest the best
cat napis liczba_pi > dubel
połączenie dwóch plików, zapisanie zawartości do nowego pliku
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 9
Przykład:
[student@lcme14 student]$ polecenie1 | polecenie2
lub
polecenie1 > plik
polecenie2 < plik
Potoki
przetwarzanie potokowe
bezpośrednie przekazywanie wyników z
jednego działającego programu jako danych wejściowych do
kolejnego programu
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1 0
cd /pub/programy
[student@lcme14 programy]$./prog1 | ./prog2
wykonanie programu
prog1
, wynik - wartość
π
przekazana jako dana
wejściowa dla programu
prog2
podaj x=
9.86959
Potoki
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1 1
następny ekran
[Enter] następny wiersz
zakończenie pracy
poprzedni ekran
Polecenia
more, less
=
stronicowanie tekstu na ekranie
[d] pół ekranu do przodu
polecenie less :
strona do przodu
strona do tyłu
[student@lcme14 student]$ ls /dev
[student@lcme14 student]$ ls /dev | more
[student@lcme14 student]$ ls /dev | less
wyświetlenie zawartości katalogu
/dev
z użyciem stronicowania
cat /pub/programy/opis | more
more /pub/programy/opis
wyświetlenie zawartości pliku
opis
z użyciem stronicowania
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1 2
Proces
= każdy uruchomiony egzemplarz danego programu
Stany procesu:
działający,
czekający na udostępnienie przez system operacyjny zasobów,
przeznaczony do zniszczenia,
Zatrzymany przez użytkownika.
Dziedziczenie procesów:
Proces potomny
Proces macierzysty
Proces potomny
Proces potomny
Proces
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1 3
●
PID: identyfikator (unikalny, przypisany przez jądro systemu numer) procesu
●
TTY: nazwa pliku oznaczającego nasz terminal
●
TIME: zliczony czas pracy procesora zużyty przez proces
●
CMD: polecenie
powłoka – proces który czyta zlecenie systemu operacyjnego z terminala, powłoka tworzy
inny proces
Polecenie
report
p
rocess
s
tatus =
ps
= monitorowanie procesu
(brak parametrów = lista procesów uruchomionych na aktualnej
konsoli)
PID TTY TIME CMD
16009 pts/15 0:00 ps
15993 pts/15 0:00 bash
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1 4
ps -f
opcja -f : (full list) pełna lista informacyjna
USER PID PPID C STIME TTY TIME CMD
student 17634 15993 0 13:58:09 pts/15 0:00 ps
student 15993 15987 0 13:35:35 pts/15 0:00 bash
–
USER: nazwa użytkownika –
właściciela procesu,
–
PPID: identyfikator procesu
macierzystego,
Polecenie
report
p
rocess
s
tatus =
ps
= monitorowanie procesu
Każdy proces ma swojego właściciela
(proces ps został zainicjowany jako proces potomny
procesu macierzystego bash)
Proces
macierzysty
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1 5
ps -l
opcja -l : (long list) długa lista informacyjna
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
8 O student 23682 23663 0 50 20 ? 142 15:55:21 pts/4 0:00 ps -lf
8 S student 23663 23657 0 50 20 ? 325 ? 15:55:07 pts/4 0:00 -bash
S: status procesu
O – uruchomiony,
S - uśpiony,
R – proces w kolejce do wykonania,
T – proces zatrzymany,
Z – proces przerwany, podczas gdy proces macierzysty jest
wykonywany
Polecenie
report
p
rocess
s
tatus =
ps
= monitorowanie procesu
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1 6
Polecenie
report
p
rocess
s
tatus =
ps
= monitorowanie procesu
logname
nazwa zalogowanego użytkownika
student
ps -u student
opcja -u użytkownik: (user) wszystkie procesy wskazanego użytkownika
PID TTY TIME CMD
1916 pts/2 0:00 ps
1196 pts/2 0:00 bash
ps -u root
ps -u root | more
nie każdy proces jest związany z terminalem
PID TTY TIME CMD
0 ? 0:01 sched
1 ? 0:07 init
...
4984 ? 0:00 sshd
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1 7
kill [nr sygnału] [PID – ident. procesu]
kill -l
opcja -l : wyświetla listę (pełną) możliwych do wysłania
sygnałów
wybrane sygnały :
●
2
przerwanie wykonania procesu
●
9
unicestwienie (bezwarunkowe) procesu
●
15 (domyślne) zakończenie procesu, tzw. Miękkie
●
19 zatrzymanie wykonania procesu (możliwe wznowienie procesu za pomocą fg, bg)
Polecenie
kill
=
komunikacja z procesem,
przesłanie standardowego sygnału do procesu
Przykład:
kill 23456
kill -9 23456
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1 8
1.Zainicjuj proces w aktywnym terminalu:
[student@lcme14 student]$ /pub/programy/prog3
program wystartowal
...
2.Zatrzymaj proces kombinacją klawiszy
[Ctrl]+[z]
3.Wyświetl informacje o bieżących procesach poleceniem
ps
4.Zakończ proces zainicjowany przez program
prog3
poleceniem
kill
5.Ponownie wyświetl informacje o bieżących procesach poleceniem
ps
6.Jeśli proces
prog3
nie został usunięty, powtórz próbę usunięcia procesu
prog3
poleceniem
kill -9
7.Wyświetl informacje o bieżących procesach poleceniem
ps
Ćwiczenie 1
komunikacja z procesami
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 1 9
/pub/programy/prog3
zainicjowanie procesu
program wystartował
...
zatrzymanie procesu (wysłanie sygnału nr 9)
Stopped
lista procesów uruchomionych na aktualnej konsoli
PID TTY TIME COMMAND
4992 ttyp2 0:01 prog3
[student@lcme14 student]$ kill 4992
wysłanie sygnału (nr 15) zakończenia procesu
proces zainicjowany przez
prog3
nie został zakończony
4992 ttyp2 0:01 prog3
[student@lcme14 student]$ kill -9 4992
wysłanie sygnału (nr 9) zakończenia procesu
[1] Killed /pub/programy/prog3
Ćwiczenie 1 - cd
komunikacja z procesami
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 20
Zadanie pierwszoplanowe
–
powłoka otrzymując polecenie od użytkownika uruchamia je, czeka na jego
zakończenie
–
zadanie jest uruchomione jako tzw. „pierwszoplanowe”
–
terminal jest zablokowany do momentu zakończenia zadania
Zadania w tle
–
zadanie uruchomione jako drugoplanowe, nie blokuje okna terminalu
–
zadanie jest realizowane po wylogowaniu się użytkownika
–
możliwość uruchamiania z jednego terminala wielu zadań w tle
Składnia (uruchomienie polecenia w tle):
$ polecenie &
Procesy, zadania pierwszoplanowe, zadania w tle
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 21
Polecenie
jobs
=
monitorowanie zadań (zatrzymanych, pracujących w tle)
/pub/programy/prog3 &
zainicjowanie procesu w tle
[1] 5074
/pub/programy/prog3
zainicjowanie procesu na pierwszym planie
program wystartował
zatrzymanie procesu
Stopped
jobs
wyświetlenie informacji o procesach zatrzymanych i pracujących w tle
[1] + Running /pub/programy/prog3 &
[2] + Stopped /pub/programy/prog3
jobs -l
[1] + 5074 Running /pub/programy/prog3 &
[2] + 5090 Stopped /pub/programy/prog3
PID TTY TIME COMMAND
5074 ttyp2 0:01 prog3
5090 ttyp2 0:01 prog3
kill -9 5074 5090
PID
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 22
fg
bg
brak opcji = uruchomienie ostatnio zatrzymanego zadania
fg %nr_zadania
bg %nr_zadania
wznowienie zadania o podanym numerze (zwracanym poleceniem
jobs
)
Polecenia
fg [nr zadania]
f
ore
g
round
=
wznowienie zatrzymanego zadania na pierwszym planie
b
g [nr zadania]
b
ack
g
round
=
wznowienie zatrzymanego zadania w tle
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 23
/pub/programy/prog3 &
[1] 5074
[student@lcme14 student]$ jobs
[1] + Running /pub/programy/prog3 &
[student@lcme14 student]$ fg %1
wznowienie (przeniesienie) zadania [1] jako zadania
pierwszoplanowego
zatrzymanie zadania pierwszoplanowego
Stopped
PID TTY TIME COMMAND
4992 ttyp2 0:01 prog3
wznowienie ostatnio zatrzymanego zadania jako zadania w tle
[1] /pub/programy/prog3&
Polecenia
fg [nr zadania]
b
g [nr zadania]
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 24
[student@lcme14 student]$ jobs -l
[1] + 4992 Running /pub/programy/prog3 &
[student@lcme14 student]$ kill -9 4992
[1] - Killed /pub/programy/prog3 &
Polecenia
fg [nr zadania]
b
g [nr zadania]
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 25
1.
Zainicjuj proces pierwszoplanowy (plikiem
/pub/programy/prog3)
w aktywnym
terminalu.
2.Zatrzymaj wykonywanie procesu kombinacją klawiszy
[Ctrl]+[z].
3.Wyświetl informacje o zatrzymanych zadaniach
4.Aktywuj w tle zatrzymany proces
Ćwiczenie 2
zadania pierwszoplanowe, zadania w tle, monitorowanie zadań
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 26
1.
Zainicjuj proces pierwszoplanowy (plikiem
/pub/programy/prog3
) w aktywnym
terminalu.
2.Zatrzymaj wykonywanie procesu kombinacją klawiszy
[Ctrl]+[z].
3.Wyświetl informacje o zatrzymanych zadaniach
4.Aktywuj w tle zatrzymany proces
Ćwiczenie 2
zadania pierwszoplanowe, zadania w tle, monitorowanie zadań
/pub/programy/prog3
program wystartował
...
jobs
[1] + Stopped /pub/programy/prog3
bg
[1] /pub/programy/prog3&
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 27
1.Uruchom w tle nowe zadanie (plik
/pub/programy/prog3
)
2.Wyświetl informacje o aktualnie uruchomionych procesach wyświetlając PID dla
każdego zadania
3.Zakończ działanie procesów zainicjowanych plikiem
/pub/programy/prog3
4.Wyświetl informacje o aktualnie uruchomionych procesach wyświetlając PID dla
każdego zadania
Ćwiczenie 2 - cd
zadania pierwszoplanowe, zadania w tle, monitorowanie zadań
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 28
1.Uruchom w tle nowe zadanie (plik
/pub/programy/prog3
)
2.Wyświetl informacje o aktualnie uruchomionych procesach wyświetlając PID dla
każdego zadania
3.Zakończ działanie procesów zainicjowanych plikiem
/pub/programy/prog3
4.Wyświetl informacje o aktualnie uruchomionych procesach wyświetlając PID dla
każdego zadania
Ćwiczenie 2 - cd
zadania pierwszoplanowe, zadania w tle, monitorowanie zadań
/pub/programy/prog3 &
[2] 5074
ps
PID TTY TIME COMMAND
5054 ttyp2 0:52 /pub/programy/prog3
5074 ttyp2 0:00 /pub/programy/prog3
[student@lcme14 student]$ kill -9 5054 5074
ps
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 29
Automatyzacja rutynowych czynności
Zastąpienie „długiego” zapisu polecenia, lub ciągu poleceń
krótszym ciągiem
znaków
tzw. aliasem
Alias może być wykonywany przez tego użytkownika, który go zdefiniował
Aliasy są aktywne tylko do zakończenia sesji
Usunięcie aliasu - Polecenie unalias
Polecenia
alias, unalias
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 3 0
[student@lcme14 student]$ alias
brak parametrów = wyświetlenie wszystkich zdefiniowanych aliasów
[student@lcme14 student]$ alias
p1=”/pub/programy/prog1”
zdefiniowanie nowego aliasu
uruchomienie programu
/pub/programy/prog1
przy użyciu
zdefiniowanego aliasu
[student@lcme14 student]$ unalias p1
usunięcie aliasu
Polecenia
alias, unalias
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 3 1
alias p2=”cd;clear;/pub/programy/prog1”
zdefiniowanie aliasu wykonującego 3 polecenia:
przejście do katalogu „domowego”,
wyczyszczenie ekranu,
uruchomienie programu
prog1
cd /
...
Polecenia
alias, unalias
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 3 2
●
Zdefiniuj alias
dir
który wyświetla zawartość katalogu pokazując pliki
ukryte, oraz pełne informacje o prawach dostępu do plików,
stronicując wydruk;
●
Zdefiniuj alias
hs
, pokazujący ostatnio wykonywane 3 polecenia
(wykorzystaj polecenie
history
)
●
Zdefiniuj alias
jm
, którego rezultatem będzie wyświetlenie informacji o
zalogowanym użytkowniku, nazwie serwera, oraz dzisiejszej dacie
●
Sprawdź działanie zdefiniowanych aliasów
Ćwiczenie 3
aliasy
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 3 3
[student@lcme14 student]$ alias dir=”ls -al | more”
alias który wyświetla zawartość katalogu pokazując pliki
ukryte, oraz pełne informacje o prawach dostępu do plików,
stronicując wydruk
[student@lcme14 student]$ alias hs=”history 3”
alias pokazujący ostatnio wykonywane 3 polecenia
[student@lcme14 student]$ alias jm=”logname;hostname;date”
alias który wyświetla informacje o zalogowanym użytkowniku,
nazwie serwera, oraz dzisiejszą datę
Ćwiczenie 3 - cd
aliasy
Instytut K onstrukcji Budowlanych
Informatyka Stosowana
Zakład K omputerowego W spomagania Projektowania
Semestr 1.
7 październik 2008
Uruchomienie, monitorowanie procesu, potoki, aliasy
S lajd 3 4
●
Skrypt = plik tekstowy, którego treścią są polecenia przeznaczone do
wykonania przez powłokę
●
.bashrc =
skrypt wykonywany w momencie zalogowania się
użytkownika do systemu, może zawierać definicje aliasów,
podstawienia wartości pod zmienne środowiskowe, etc.
plik .bashrc
[student@lcme14 student]$ more .bashrc