Onko prosessi (daemon) päällä

Pitäisi lisätä crontabiin käsky joka testaa onko "motion" käynnissä vai ei. Jos ei ole, niin se käynnistetään.


cat testmotion.sh

if ps -p `cat /var/run/motion/motion.pid` >&- ; then
echo
else
motion
fi

Tuo ei oikein toimi kunnolla. Onko ehdotuksia miten sen saisi tehtyä oikein?


PS: Pääongelma on että, kun kone käynnistetään ja suoritetaan /etc/ini.d/motion start. Niin jostain syystä se ei pysy päällä kuin 3-5 minuuttia. Mutta jos sen käynnistää käsiin käskyllä : motion niin se pysyy päällä vaikka kuinka kauan.

Joten jokaisen bootin jälkeen pitäisi muistaa ajaa "killall motion ; motion" jotta se jäisi taustalle ja se unohtuu usein. Joten ajattelin tehdä tuollaisen crontab virityksen tarkistamaan sitä vaikka 15 min välein ja jos se ei ole päällä, niin käynnistämään sen.
869
Äänestä

Muut lukivat myös

Vastaukset 8

Vanhimmat

hmm.. näyttäisi siltä, että tuota ajetaan käyntiin ainoastaan yksi prosessi, joten laita croniin..
/etc/init.d/motion start

jos motion on jo käynnissä niin ei komennosta ole haittaa ja jos ei ole, niin mokoma käynnistetään uudestaan. puppelikäyttiksessä ainakin näyttäisi toimivan tuolleen.

kannattaisi ehkä kuitenkin selvittää syy siihen miksi se kaatuu vai onko se vain niin buginen paska?

Äänestä
  • ja puppelikäyttiksessä on muuten oletuksena tälleen:

    /etc/default/motion tiedostossa
    start_motion_daemon=no

    joka estää demonin käynnistymisen /etc/init-d/motin start komennolla...

    pitää vaihtaa
    start_motion_daemon=yes

    Äänestä

  • ps kirjoitti:

    ja puppelikäyttiksessä on muuten oletuksena tälleen:

    /etc/default/motion tiedostossa
    start_motion_daemon=no

    joka estää demonin käynnistymisen /etc/init-d/motin start komennolla...

    pitää vaihtaa
    start_motion_daemon=yes

    On se tehtykin niin, mutta jostain syystä ei ei pysy päällä kuin hetken jos käynnistän sen komennolla:

    # /etc/init.d/motion start

    Se käynnistyy ja toimii hetken, mutta sitten katoaa jonnekin.
    Mutta jos käynnistän sen käskyllä:

    # motion

    Niin se pysyy taustalla seuraavan bootin asti.

    En pysty selvittämään mitä eroa on noilla käynnistystavoilla on ja miksi tuo init.d tapa kaatuu.

    Äänestä

  • kysyn minä kirjoitti:

    On se tehtykin niin, mutta jostain syystä ei ei pysy päällä kuin hetken jos käynnistän sen komennolla:

    # /etc/init.d/motion start

    Se käynnistyy ja toimii hetken, mutta sitten katoaa jonnekin.
    Mutta jos käynnistän sen käskyllä:

    # motion

    Niin se pysyy taustalla seuraavan bootin asti.

    En pysty selvittämään mitä eroa on noilla käynnistystavoilla on ja miksi tuo init.d tapa kaatuu.

    >> miksi tuo init.d tapa kaatuu >>

    Syytä vois hakea esmes täältä /var/log (? daemon.log | syslog ?).

    Toinen tapa etsiä syytä skirptillä käynnistetyn motion -daemonin stoppiin on etsiä init skriptitstä
    /etc/ini.d/motion
    se rivi, joka käynnistää tuon daemonin. Kopsaa rivi(t) ja käynnistä käsin päätteeltä (eli tasan samoine VIPUineen) ja kato stoppaako muutaman minuutin kuluttaua ?

    Äänestä

  • kysyn minä kirjoitti:

    On se tehtykin niin, mutta jostain syystä ei ei pysy päällä kuin hetken jos käynnistän sen komennolla:

    # /etc/init.d/motion start

    Se käynnistyy ja toimii hetken, mutta sitten katoaa jonnekin.
    Mutta jos käynnistän sen käskyllä:

    # motion

    Niin se pysyy taustalla seuraavan bootin asti.

    En pysty selvittämään mitä eroa on noilla käynnistystavoilla on ja miksi tuo init.d tapa kaatuu.

    >> Onko prosessi (daemon) päällä >>

    # ps -axf | grep motion

    Jos init.d skriptin käynnistämä motion on ajossa niin tuo näyttänee myös skriptillä käynnistetyn motion komennon kaikkine vipuineen ?

    Äänestä

  • kysyn minä kirjoitti:

    On se tehtykin niin, mutta jostain syystä ei ei pysy päällä kuin hetken jos käynnistän sen komennolla:

    # /etc/init.d/motion start

    Se käynnistyy ja toimii hetken, mutta sitten katoaa jonnekin.
    Mutta jos käynnistän sen käskyllä:

    # motion

    Niin se pysyy taustalla seuraavan bootin asti.

    En pysty selvittämään mitä eroa on noilla käynnistystavoilla on ja miksi tuo init.d tapa kaatuu.

    laita croniin pelkkä motion :)

    Äänestä

  • ps kirjoitti:

    laita croniin pelkkä motion :)

    joo ja lokitiedostoja syynäämään.
    ja toivottavasti kyseessä ei ole joku kehitysversio jostain linuxdistrosta.

    Äänestä

  • ps -axf kirjoitti:

    >> Onko prosessi (daemon) päällä >>

    # ps -axf | grep motion

    Jos init.d skriptin käynnistämä motion on ajossa niin tuo näyttänee myös skriptillä käynnistetyn motion komennon kaikkine vipuineen ?

    Nuo kaksi edeltävää viestiä (klo 14:01 ja 14:16) olivat yritys selvittää kysymystäsi
    >> miksi tuo init.d tapa kaatuu >>

    Äänestä

Kommentoi aloitusta


kysyn minä kirjoitti:

Pitäisi lisätä crontabiin käsky joka testaa onko "motion" käynnissä vai ei. Jos ei ole, niin se käynnistetään.


cat testmotion.sh

if ps -p `cat /var/run/motion/motion.pid` >&- ; then
echo
else
motion
fi

Tuo ei oikein toimi kunnolla. Onko ehdotuksia miten sen saisi tehtyä oikein?


PS: Pääongelma on että, kun kone käynnistetään ja suoritetaan /etc/ini.d/motion start. Niin jostain syystä se ei pysy päällä kuin 3-5 minuuttia. Mutta jos sen käynnistää käsiin käskyllä : motion niin se pysyy päällä vaikka kuinka kauan.

Joten jokaisen bootin jälkeen pitäisi muistaa ajaa "killall motion ; motion" jotta se jäisi taustalle ja se unohtuu usein. Joten ajattelin tehdä tuollaisen crontab virityksen tarkistamaan sitä vaikka 15 min välein ja jos se ei ole päällä, niin käynnistämään sen.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu