Linux Wiki
linuxwiki.pl>Wedkarski
(+infobox;)
 
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]].
{{Infobox program
 
| nazwa = Amarok
 
| screenshot = [[Plik:Amarok.jpg|center|200px]]
 
| autor =
 
| www = http://amarok.kde.org/
 
| 1 wydanie =
 
| aktualna wersja =
 
| środowisko graficzne = [[KDE Software Compilation|KDE SC]]
 
| typ = odtwarzacz muzyki
 
| napisany w =
 
| licencja =
 
}}
 
[[Plik:Amarok_ikona.png|left|35px|Ikona programu]]
 
{{T||do czerwca 2006 roku znany jako '''amaroK'''}}odtwarzacz muzyki wchodzący w skład środowiska graficznego [[KDE Software Compilation]]. Został napisany w [[wikipedia:pl:C++|C++]] i jest dostępny na licencji GNU GPL. Jego najnowszą wersją jest wersja 2.8, wydana 16 sierpnia 2013 roku. Umożliwia słuchanie muzyki zarówno z twardego dysku, jak i z różnych muzycznych serwisów internetowych. Daje możliwość wygodnego przeglądania biblioteki utworów i dodawania ich do listy odtwarzania, według określonych kryteriów. W czasie odtwarzania utworu możliwe jest przeglądanie jego tekstu (dane są pobierane z [http://lyrics.wikia.com/ Lyrics Wiki]), czy artykułu o autorze na Wikipedii (możliwe jest ustawienie paru wersji językowych i ich priorytetu). Program umożliwia też edycję tagów ID3 zawartych w plikach MP3.
 
   
  +
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.
== Ciekawostki ==
 
* Odtwarzanie muzyki Amarokiem może być kontrolowane poprzez konsolę. W tym celu należy uruchomić program poleceniem <code>amarok</code> z jednym z poniższych parametrów:
 
** <code>-r</code> lub <code>--previous</code> - przeskakuje o jedną ścieżkę na liście odtwarzania w tył;
 
** <code>-p</code> lub <code>--previous</code> - rozpoczyna odtwarzanie;
 
** <code>-t</code> lub <code>--play-pause</code> - jeśli odtwarzanie nie trwa - rozpoczyna je, w przeciwnym wypadku - wstrzymuje (pauzuje) je;
 
** <code>--pause</code> - wstrzymuje (pauzuje) odtwarzanie;
 
** <code>-s</code> lub <code>--stop</code> - zatrzymuje odtwarzanie;
 
** <code>-f</code> lub <code>--next</code> - przeskakuje o jeden utwór na liście odtwarzania w przód.
 
* Nazwa programu pochodzi od [[wikipedia:pl:Amarok (album)|albumu]] Mike'a Oldfielda o tej samej nazwie.
 
   
== Linki zewnętrzne ==
+
== Wysyłanie sygnałów ==
* [http://amarok.kde.org/ Oficjalna strona]
 
   
  +
=== Z poziomu poleceń terminala ===
{{KDE}}
 
  +
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 ===
[[Kategoria:Multimedia]]
 
  +
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);