Linux Wiki
linuxwiki.pl>Oselotti
m (+interwiki)
 
linuxwiki.pl>PiotrekD
(+kat)
 
Linia 1: Linia 1:
  +
{{T}}jeden z podstawowych i sposobów komunikacji międzyprocesowej w systemach uniksowych, w tym również w [[GNU/Linux|Linuksie]].
{{małą literą}}
 
'''mount''' – polecenie systemów [[Unix]], montujące system plików. Pliki są zorganizowane w drzewie, hierarchicznej strukturze danych, która zakorzeniona jest w [[katalog główny|katalogu głównym]]. Pliki mogą się znajdować na wielu urządzeniach. Celem polecenia <code>mount</code> jest przyłączenie systemu plików na urządzeniu do drzewa plików.
 
==Użycie==
 
<terminal>$ mount -t <typ> <urządzenie> <katalog></terminal>
 
Polecenie nakazuje [[Linux (jądro)|jądru]] przyłączenie systemu plików, znalezionego na urządzeniu, które jest typu <u>typ</u> do podanego katalogu. Na czas przyłączania, zawartość, informacje o właścicielu oraz prawa katalogu stają się niedostępne. Jeżeli podajemy tylko katalog lub urządzenie, polecenie szuka punktu montowania, a w przypadku, gdy punkt montowania nie zostanie odnaleziony, szuka go w pliku [[/etc/fstab]].
 
   
  +
Sygnałami są po prostu liczby określone całkowite. Jeśli jakiś proces otrzyma sygnał, jądro systemu zatrzyma na chwilę jego dotychczasowe działanie i sprawdzi, czy posiada on kod obsługujący dany sygnał. Jeśli tak - uruchomi go, w przeciwnym wypadku - kontynuuje normalne wykonywanie procesu.
==Przykłady==
 
<terminal>$ mount /dev/sda</terminal>
 
Ładowanie systemu plików urządzenia /dev/sda.
 
<terminal>$ mount --move stary-katalog nowy-katalog</terminal>
 
Przeniesienie zamontowanego systemu plików do innego katalogu.
 
   
  +
== Wysyłanie sygnałów ==
{{Polecenia}}
 
   
  +
=== Z poziomu poleceń terminala ===
[[fi:mount]]
 
  +
Do wysyłania procesów z poziomu konsoli służy polecenie <code>[[kill]]</code>. Jej użycie ma postać
  +
<terminal>
  +
$ kill [przełączniki] <PID> {{...|identyfikatory wielu procesów}}
  +
</terminal>
  +
Jeśli nie podane zostaną żadne przełączniki zostanie wysłany sygnał <code>SIGTERM</code>. Aby wysłać inny sygnał, wystarczy podać go poprzedzonego myślnikiem (<code>-</code>). Przykładowo, wysłanie sygnału <code>SIGUSR1</code> o wartości 10 do procesu o numerze 1234, wygląda tak:
  +
<terminal>
  +
$ kill -10 1234
  +
</terminal>
  +
  +
=== Z poziomu programu ===
  +
Wysłanie sygnału z poziomu programu jest możliwe dzięki wywołaniu systemowemu <code>kill()</code>. Jako pierwszy parametr pobiera ono sygnał, który ma zostać wysłany (w przypadku języka C można posłużyć się makrami zdefiniowanymi w pliku nagłówkowym <code><signal.h></code>), a jako drugi - PID procesu, który ma zostać zabity. Umożliwia zabicie tylko jednego procesu naraz. W przypadku powodzenia zwraca 0, w przeciwnym wypadku - -1. Użycie tego wywołania (w C) polegające na wysłaniu <code>SIGUSR1</code> do procesu o numerze 1234, wygląda tak:
  +
<source lang="c">
  +
kill(10, 1234);
  +
</source>
  +
lub, by użyciu makr z nazwami (wymaga załączenia <code><signal.h></code>):
  +
<source lang="c">
  +
kill(SIGUSR1, 1234);
  +
</source>
  +
  +
[[Kategoria:Komunikacja międzyprocesowa]]

Wersja z 07:24, 6 wrz 2014

Sygnały – jeden z podstawowych i sposobów komunikacji międzyprocesowej w systemach uniksowych, w tym również w Linuksie.

Sygnałami są po prostu liczby określone całkowite. Jeśli jakiś proces otrzyma sygnał, jądro systemu zatrzyma na chwilę jego dotychczasowe działanie i sprawdzi, czy posiada on kod obsługujący dany sygnał. Jeśli tak - uruchomi go, w przeciwnym wypadku - kontynuuje normalne wykonywanie procesu.

Wysyłanie sygnałów

Z poziomu poleceń terminala

Do wysyłania procesów z poziomu konsoli służy polecenie kill. Jej użycie ma postać <terminal> $ kill [przełączniki] <PID> ... </terminal> Jeśli nie podane zostaną żadne przełączniki zostanie wysłany sygnał SIGTERM. Aby wysłać inny sygnał, wystarczy podać go poprzedzonego myślnikiem (-). Przykładowo, wysłanie sygnału SIGUSR1 o wartości 10 do procesu o numerze 1234, wygląda tak: <terminal> $ kill -10 1234 </terminal>

Z poziomu programu

Wysłanie sygnału z poziomu programu jest możliwe dzięki wywołaniu systemowemu kill(). Jako pierwszy parametr pobiera ono sygnał, który ma zostać wysłany (w przypadku języka C można posłużyć się makrami zdefiniowanymi w pliku nagłówkowym <signal.h>), a jako drugi - PID procesu, który ma zostać zabity. Umożliwia zabicie tylko jednego procesu naraz. W przypadku powodzenia zwraca 0, w przeciwnym wypadku - -1. Użycie tego wywołania (w C) polegające na wysłaniu SIGUSR1 do procesu o numerze 1234, wygląda tak:

kill(10, 1234);

lub, by użyciu makr z nazwami (wymaga załączenia <signal.h>):

kill(SIGUSR1, 1234);