disown

Linux.fista

disown on komentotulkin (esim. bash) komento, joka estää ajossa olevan prosessin lopettamisen tapauksessa, jossa komentotulkki suljetaan. Käytännössä sitä käytettäessä komentotulkki ei lähetä prosessille SIGHUP-signaalia komentotulkin sulkemisen yhteydessä. Käytännössä lähes samaan toiminnallisuuteen päästään käyttämällä nohup-komentoa sovelluksen käynnistämisen yhteydessä.

Käyttö[muokkaa]

Käynnissä oleva prosessi voidaan poistaa komentotulkin aktiivisten töiden listasta komennolla

disown id

missä id on joko prosessin PID-tunnistenumero, tai se viittaa kyseisen komentotulkin taustalla ajossa oleviin prosesseihin (esim. %1). Jos tunnistetta ei anneta, komento kohdistuu viimeisimpään taustalle käynnistettyyn prosessiin. Kaikkiin komentotulkin prosesseihin viitataan valitsimella -a:

disown -a

Esimerkki[muokkaa]

Käynnistetään taustalle kolme sovellusta

$ xeyes &
[1] 4505
$ gnome-calculator &
[2] 4506
$ gedit &
[3] 4513

Todetaan, että nämä prosessit pyörivät taustalla (jos komentotulkki suljettaisiin, kaikki sovellukset sulkeutuisivat)

$ jobs

[1] Ajossa xeyes & [2]- Ajossa gnome-calculator & [3]+ Ajossa gedit & Poistetaan [xeyes]] komentotulkin prosessilistasta

$ disown %1

tai

$ disown 4505

Huomataan, että se ei enää näy tausta-ajossa olevissa prosesseissa (mutta on silti käynnissä):

$ jobs
[2]-  Ajossa                  gnome-calculator &
[3]+  Ajossa                  gedit &

Siirretään loputkin prosessit tausta-ajoon

$ disown -a
$ jobs
$

Vaikka komentotulkki nyt suljettaisiin, kaikki kolme sovellusta jäisivät käyntiin.

Katso myös[muokkaa]