Muokataan sivua Signaali
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
Linuxissa ohjelmat voivat lähettää toisilleen erityyppisiä viestejä signaaleilla. Signaalien avulla saadaan ohjelmat tekemään tiettyjä asioita, ja useimmiten niitä käytetään ohjelmien lopettamiseen. | |||
Signaaleja voi lähettää komentoriviltä näppäinyhdistelmillä (INT, QUIT, STP) tai [[kill]]-komennolla ja ohjelmista kill-järjestelmäkutsulla. Monia signaaleja lähetetään viestittämään erilaisista virhe- ja erikoistilanteista ytimen, X:n tms. toimesta. | |||
Useimpien signaalien oletusvaikutus on ohjelman lopettaminen, mutta ohjelma voi määritellä oman tapansa suhtautua eri signaaleihin. Esimerkiksi näppäinyhdistelmällä | Useimpien signaalien oletusvaikutus on ohjelman lopettaminen, mutta ohjelma voi määritellä oman tapansa suhtautua eri signaaleihin. Esimerkiksi [[komentorivi]]ohjelmalle lähetetään näppäinyhdistelmällä ctrl+c signaali 2 (''INT''), joka tarkoittaa sitä, että ohjelma saa tallentaa tilansa ja sen jälkeen sen pitäisi sulkeutua. Tämä signaali esimerkiksi lähetetään kaikille ohjelmille järjestelmän sammuessa. | ||
Eräs yleinen signaali on signaali numero 1 (HUP). Se lähetetään ohjelmalle tilanteessa jossa yhteys, jonka kautta ohjelmaa käytettiin, katkeaa. Tämä tapahtuu esimerkiksi silloin kun [[pääte-emulaattori]] | Eräs yleinen signaali on signaali numero 1 (''HUP''). Se lähetetään ohjelmalle tilanteessa jossa yhteys, jonka kautta ohjelmaa käytettiin, katkeaa. Tämä tapahtuu esimerkiksi silloin kun [[pääte-emulaattori|päätteessä]] ajetaan komentoriviohjelmaa ja pääte suljetaan tai jos ohjelmaa ajetaan etäkoneella [[SSH]]-yhteyden yli. Monet ohjelmat reagoivat ''HUP''-signaaliin samalla tavalla kuin ''TERM''-signaaliin. | ||
Signaalit | Signaalit numerot 9 (''KILL'') ja 19 (''STOP'') ovat ainoat signaalit, joiden vaikutusta ohjelma ei voi muuttaa, vaan nämä signaalit lopettavat (KILL) tai pysäyttävät (STOP) kyseisen ohjelman suorituksen välittömästi. | ||
KILL-signaali annetaan yleensä koneen sulkemisen yhteydessä, kun ensin on varoitettu ohjelmia TERM-signaalilla. Sillä voi myös sulkea rikkinäisen ohjelman, joka ei tottele muita signaaleja | KILL-signaali annetaan yleensä koneen sulkemisen yhteydessä, kun ensin on varoitettu ohjelmia TERM-signaalilla. Sillä voi myös sulkea rikkinäisen ohjelman, joka ei tottele muita signaaleja, mutta koska ohjelmalle ei jää mahdollisuutta sulkea jälkensä tätä | ||
Joitakin signaaleja: | |||
* '''HUP''' ("hangup"): yhteys käyttäjään katkennut. Kun Unix-koneita käytettiin puhelinverkon välityksellä | * '''HUP''' ("hangup"): yhteys käyttäjään katkennut. Kun Unix-koneita käytettiin puhelinverkon välityksellä tämä signaali annettiin yhteyden katketessa. Nykyään tyypillinen syy on [[pääte-emulaattori|pääteikkunan]] sulkeminen. Palvelinohjelmistoja voi usein pyytää lukemaan asetustietonsa uudestaan tällä signaalilla. | ||
* '''INT''' ("interrupt"): käyttäjä on painanut | * '''INT''' ("interrupt"): käyttäjä on painanut CTRL-C. Ohjelma sulkeutuu. | ||
* '''QUIT''': käyttäjä on painanut näppäinyhdistelmää | * '''QUIT''': käyttäjä on painanut näppäinyhdistelmää QUIT (katso [[stty]]). Ohjelma sulkeutuu, mutta jättää [[core]]-tiedoston ohjelman toiminnan tutkimiseksi. | ||
* '''KILL''': ydin lopettaa ohjelman ilman varoitusta | * '''KILL''': ydin lopettaa ohjelman ilman varoitusta | ||
* ''' | * '''SIGUSR1''': ohjelmakohtaisesti määritelty | ||
* '''SEGV''': väärä muistinosoitus eli vika ohjelmassa, muistipiireissä tms. | * '''SEGV''': väärä muistinosoitus eli vika ohjelmassa, muistipiireissä tms. | ||
* '''TERM''': ohjelma pyydetään sulkeutumaan, esimerkiksi [[shutdown]]-käskyn takia | * '''TERM''': ohjelma pyydetään sulkeutumaan, esimerkiksi [[shutdown]]-käskyn takia | ||
* '''STOP''': ydin pysäyttää ohjelman | * '''STOP''': ydin pysäyttää ohjelman | ||
* '''CONT''': ohjelman annetaan jatkaa | * '''CONT''': ohjelman annetaan jatkaa | ||
== Katso myös == | == Katso myös == | ||
*[[ | *[[Dbus]] | ||
*[[Kill]] | *[[Kill]] | ||
*[[Killall]] | *[[Killall]] | ||
*[[Prosessi]] | *[[Prosessi]] | ||
[[Luokka:Järjestelmä]] | [[Luokka:Järjestelmä]] | ||
[[Luokka:Käsitteet]] | [[Luokka:Käsitteet]] |