Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: Aliengrey - 31.03.16 - klo:03.07

Otsikko: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: Aliengrey - 31.03.16 - klo:03.07
Miten ohjelma käynnistettiinkään päätteellä niin että käynnistetty ohjelma ei sammu vaikka itse pääte ikkuna suljetaan.
Otsikko: Vs: Pääte ja ohjelman käynnistäminen
Kirjoitti: welmar - 31.03.16 - klo:08.02
Esimerkiksi näin
Koodia: [Valitse]
nohup firefox&
Otsikko: Vs: Pääte ja ohjelman käynnistäminen
Kirjoitti: Aliengrey - 31.03.16 - klo:17.05
Joo kiitoksia, noinhan se toimii.  :)
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: matsukan - 31.03.16 - klo:21.51
bash shelli:ssä (siis siinä oletusshellissä) ilmeisesti tuota nohup ei tarvita.

siis

Koodia: [Valitse]
firefox &
riittää.

Toinen tapa on käyttää screen komentoa vaikka tyyliin  :

Koodia: [Valitse]
screen -A -m -d -S somename ./somescript.sh &
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: welmar - 01.04.16 - klo:00.22
bash shelli:ssä (siis siinä oletusshellissä) ilmeisesti tuota nohup ei tarvita.

siis

Koodia: [Valitse]
firefox &
riittää.
Niin minäkin muistelin mutta kokeilin ensin ja firefox sammui samalla kuin päätekin. Käytössä tosin Fedora.
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: kuutio - 01.04.16 - klo:08.30
bash shelli:ssä (siis siinä oletusshellissä) ilmeisesti tuota nohup ei tarvita.

siis

Koodia: [Valitse]
firefox &
riittää.
Niin minäkin muistelin mutta kokeilin ensin ja firefox sammui samalla kuin päätekin. Käytössä tosin Fedora.
Tämä riippuu muutamasta tekijästä, mm. käytetystä shellistä, sen versiosta, shell-optioista sekä siitä miten pääte sammutetaan/sammuu (saako se itse SIGHUP signaalin).

Itse käytän zsh-ssa (pitäisi toimia myös bashin kanssa) disown:ia, esim.
Koodia: [Valitse]
firefox & disownMikä pitää ohjelman käynnissä varmemmin shellin sammuessa.

nohup on POSIX-tapa (toimii kaikissa POSIX-shelleissä), disown toimii vain joissain (kuten bash ja zsh). nohupin kanssa joutuu usein ohjailemaan tulostetta erikseen (oletuksena tallentaa $HOME/nohup.out), minkä vuoksi pidän yleensä disownia kätevämpänä (se toimii lisäksi myös jo käynnissä olevien ohjelmien "irrottamiseen" isäntäpäätteestä).

Vähän lisälukemista (englanniksi, google löytänee lisääkin):
http://unix.stackexchange.com/questions/3886/difference-between-nohup-disown-and
http://unix.stackexchange.com/questions/84737/in-which-cases-is-sighup-not-sent-to-a-job-when-you-log-out
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: Aliengrey - 01.04.16 - klo:18.24
Kokeilin tuota
Koodia: [Valitse]
firefox &mutta se ei toimi. Tuo welmarin mainitsema
Koodia: [Valitse]
nohup firefox&taas toimii. Käytössä mulla on Xubuntu
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: matsukan - 01.04.16 - klo:20.45
mitä tämä kertoo päätteessä ?

Koodia: [Valitse]
echo $SHELL
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: Aliengrey - 01.04.16 - klo:21.01
Koodia: [Valitse]
echo $SHELL
Koodia: [Valitse]
/bin/bash
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: raimo - 01.04.16 - klo:21.12
Koodia: [Valitse]
raimo@kone-1:~$ firefox &
[1] 6702
raimo@kone-1:~$ pstree | grep firefox
        |-konsole-+-bash-+-firefox-+-{Cache I/O}
        |         |      |         |-{firefox}

Mikäli ymmärrän oikein tuota, niin jos pääte (KDE Konsole) suljetaan, sulkeutuu myös firefox-prosessi.
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: kuutio - 01.04.16 - klo:21.27
Koodia: [Valitse]
raimo@kone-1:~$ firefox &
[1] 6702
raimo@kone-1:~$ pstree | grep firefox
        |-konsole-+-bash-+-firefox-+-{Cache I/O}
        |         |      |         |-{firefox}

Mikäli ymmärrän oikein tuota, niin jos pääte (KDE Konsole) suljetaan, sulkeutuu myös firefox-prosessi.
Juuri näin, tämä on myös avattu noissa mainitsemissani linkeissä.

firefox & -komento laittaa firefoxin "vain" tausta-ajoon, mikä ei kaikissa tapauksissa "suojele" sitä isäntäpäätteen sulkemiselta.
1. Firefox suljetaan, jos bash itse saa SIGHUP signaalin, kuten jos konsole suljetaan. (Tällöin bash välittää SIGHUPin myös tausta-ajossa oleville prosesseille)
2. Firefoxia ei suljeta, jos bash suljetaan suoraan (ilman) SIGHUP signaalia, esim "exit" komennolla tai ctrl+d:llä. (Tällöin SIGHUPpia ei lähetetä tausta-ajossa oleville prosesseille.)

Jos haluaa varmistaa, että firefox pysyy ajossa kaikissa tapauksissa, pitää käyttää nohuppia tai disownia (tai muiden shellien vastaavaa funktiota)
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: Pekken - 02.04.16 - klo:10.14
Miksi pitää käynnistää päätteellä? Eikö normisti kuvakkeesta käy? Kyllä mulla pysyy ohjelmat käynnissä, vaikka päätteen suljen!!?? Ei ymmärrä!
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: kuutio - 02.04.16 - klo:10.37
Miksi pitää käynnistää päätteellä? Eikö normisti kuvakkeesta käy?
Kyllä tuohon päätteeltä käynnistämiseen ihan päteviä käyttötarkoituksia löytyy, kuten skriptit/automaatio tai vaikka ssh:n yli ajetut ohjelmat/komennot.
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: Pekken - 02.04.16 - klo:11.11
Ok! Eli enemmän kun tavis käyttäjän tarvii tietää!?
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: raimo - 02.04.16 - klo:11.17
Ok! Eli enemmän kun tavis käyttäjän tarvii tietää!?

Virhetilanteissa, kun joku ohjelma toimii kuten sen ei pitäisi, päätteestä käynnistäminen on hyvä keino selvittää vian syy.
Ohjelmat kun yleisesti tulostavat tekosiaan päätteeseen. Että sikäli tavallisellekin käyttäjälle (mikä se on :) ) pääte on hyödyllinen laitos.
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: Pekken - 02.04.16 - klo:11.26
Juu varmasti näin, mutta esim. itsellä toiminut Ubuntu hyvin ja päätteestä asentanut ohjelmia ja tehnyt päivityksiä, mutta isompaan osaamiseen en osaa käyttää (tulkita päätteen infoja). Mutta onneksi tälle palstalle voi lähettää päätteestä ongelma tilanteita, joita pätevät osaavat ratkoa :)
Otsikko: Vs: Pääte ja ohjelman käynnistäminen [RATKAISTU]
Kirjoitti: Postimies - 05.04.16 - klo:22.48
Ok! Eli enemmän kun tavis käyttäjän tarvii tietää!?
Päätteeltä käynnistää myös ohjelmia nopeammin kuin valikoista etsimällä.
Tai vaikka Amarokin nukuttaminen ~ $sleep 120m; amarok --stop.
Tapoja käyttää päätettä on loputtomasti.
Itsellä ainakin 3 välilehteä aina auki.