https://www.linux.fi/w/index.php?title=Zombie-prosessi&feed=atom&action=history
Zombie-prosessi - Muutoshistoria
2024-03-28T14:39:07Z
Tämän sivun muutoshistoria
MediaWiki 1.41.0
https://www.linux.fi/w/index.php?title=Zombie-prosessi&diff=48532&oldid=prev
Lahtis: [[]]
2019-02-03T22:33:36Z
<p>[[]]</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="fi">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Vanhempi versio</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Versio 4. helmikuuta 2019 kello 01.33</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l14">Rivi 14:</td>
<td colspan="2" class="diff-lineno">Rivi 14:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Zombien luominen ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Zombien luominen ==</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Zombie-prosesseja voidaan luoda C<del style="font-weight: bold; text-decoration: none;">:llä </del>esimerkiksi näin:</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Zombie-prosesseja voidaan luoda <ins style="font-weight: bold; text-decoration: none;">[[</ins>C<ins style="font-weight: bold; text-decoration: none;">]]-kielellä </ins>esimerkiksi näin:</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><source lang="c"></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><source lang="c"></div></td></tr>
</table>
Lahtis
https://www.linux.fi/w/index.php?title=Zombie-prosessi&diff=46951&oldid=prev
Oselotti: Ak: Uusi sivu: '''Zombie-prosessi''' on prosessi, joka on lopettanut suorituksen, mutta on yhä prosessitaulussa. Zombie-prosessit ovat ''eläviä kuolleita'', mistä metafora ''wikipedia:fi:Zo...
2016-08-18T14:04:54Z
<p>Ak: Uusi sivu: '''Zombie-prosessi''' on prosessi, joka on lopettanut suorituksen, mutta on yhä prosessitaulussa. Zombie-prosessit ovat ''eläviä kuolleita'', mistä metafora ''wikipedia:fi:Zo...</p>
<p><b>Uusi sivu</b></p><div>'''Zombie-prosessi''' on prosessi, joka on lopettanut suorituksen, mutta on yhä prosessitaulussa. Zombie-prosessit ovat ''eläviä kuolleita'', mistä metafora ''[[wikipedia:fi:Zombi|Zombie]]'' on alun perin nimeksi annettu.<br />
<br />
Prosessin päättyessä sen resurssit vapautetaan muiden prosessien käyttöön. Prosessi kuitenkin säilyy prosessitaulussa, jotta äitiprosessi voi lukea sen paluuarvon <tt>wait()</tt>-järjestelmäkutsulla. <tt>wait()</tt>-järjestelmäkutsun yhteydessä prosessin [[PID|tunnistenumero]] vapautetaan, jotta se voidaan käyttää myöhemmin uudelleen. Mikäli prosessin vanhempi ei koskaan suorita <tt>wait()</tt>-järjestelmäkutsua, jää lapsiprosessi roikkumaan järjestelmään ja siitä tulee zombie.<br />
<br />
== Zombien etsiminen ==<br />
Zombie-prosesseja voidaan etsiä [[ps]]- ja [[grep]]-ohjelmien avulla.<br />
$ ps axo user,pid,ppid,command,s | grep -w Z$<br />
<br />
== Zombien poistaminen ==<br />
Zombie-prosessia ei voida tappaa, koska se on jo kuollut. Zombie-prosessit voidaan kuitenkin poistaa järjestelmästä lähettämällä niiden äitiprosessille <tt>SIGCHLD</tt>-signaali.<br />
$ kill -CHLD <vanhemman_PID><br />
<br />
Toisinaan vanhempi ei kuitenkaan suostu kuuntelemaan signaalia, vaan se täytyy kylmästi [[kill|tappaa]]. Tässä tapauksessa zombie-prosessi jää orvoksi ja se siirretään <tt>init</tt>-prosessin (PID 1) lapseksi. <tt>init</tt> siivoaa säännöllisin väliajoin sen lapsina olevat zombie-prosessit.<br />
<br />
== Zombien luominen ==<br />
Zombie-prosesseja voidaan luoda C:llä esimerkiksi näin:<br />
<br />
<source lang="c"><br />
#include <stdlib.h><br />
#include <unistd.h><br />
#include <sys/types.h><br />
<br />
int main(void)<br />
{<br />
pid_t p;<br />
for (;;) {<br />
p = fork();<br />
if (p > 0)<br />
sleep(1);<br />
else<br />
exit(0);<br />
}<br />
return 0;<br />
}<br />
</source><br />
<br />
[[Luokka:Järjestelmä]]<br />
[[Luokka:Käsitteet]]</div>
Oselotti