Sada je: 16 tra 2024, 22:41.
C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
eLin je napisao/la:OK. sad sam malo zbunjen :-)
Ne mogu definirati path do programa.
btw. program -mojaKasa- se pokreće na ovaj način:
./mojaKasa -u/dev/ttyUSB0;


Vjerojatno je to u home folderu pa probaj sa $HOME.
Kod: Označi sve
PROG="$HOME/mojaKasa -u/dev/ttyUSB0"

Opet stavljaš razmake oko = . Bez razmaka oko = u Bash skriptama.
Avatar
Postovi: 1907
Postovi: 1907
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 342 puta
Spol: M
OS: Mint 10 LXDE itd...
OK. napravio što si predložio i probao s $HOME.
Sad vise ne dobivam grešku no such file ali dobivam ovo:
pidof: invalid options on command line

?
Ne znam da li je pronašao program i njegov PID ali vjerujem da je je bi u protivnom valjda nešto napisao...
Postovi: 28
Postovi: 28
Pridružen/a: 16 ruj 2013, 21:38
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 0 puta
Mala greška, nisam gledao.
Evo, pazi na razmake:
Kod: Označi sve
#!/bin/bash

while :
do

   PID=$(pidof "$HOME/mojaKasa")
   if ! [ $PID ]; then
      (nohup "$HOME/mojaKasa -u/dev/ttyUSB0" &) &>/dev/null && sleep 2
   else
      sleep 2
   fi

done
Avatar
Postovi: 1907
Postovi: 1907
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 342 puta
Spol: M
OS: Mint 10 LXDE itd...
Thnx !
Pokrenuo i sad ne prijavljuje nikakvu grešku ( treba staviti razmak između sleep i 2.

Nego, daj molim te da napravimo i onu verziju s timerom pa da i to imam...

Kod: Označi sve
#!/bin/bash

GLAVNI_TIMER=3600
ISKLJ_TIMER=5

while :
do

   PID=$(pidof  "$HOME/mojaKasa")
   if [ $PID ]; then
      kill -15 $PID && sleep $ISKLJ_TIMER
   else
      (nohup "$HOME/mojaKasa -u/dev/ttyUSB0" &) &>/dev/null && sleep $GLAVNI_TIMER
   fi
done


U tom kodu mi javlja da je krivo koristeni kill.
kill: usage kill: bla bla bla
Postovi: 28
Postovi: 28
Pridružen/a: 16 ruj 2013, 21:38
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 0 puta
Ups! :oops
Bez navodnika.
pidof "$HOME/mojaKasa" mora biti
$HOME/mojaKasa i
"$HOME/mojaKasa -u/dev/ttyUSB0" mora biti
$HOME/mojaKasa -u/dev/ttyUSB0
Vjerojatno je to. :place
Avatar
Postovi: 1907
Postovi: 1907
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 342 puta
Spol: M
OS: Mint 10 LXDE itd...
Nažalost nije... ista greša s tim kill-om.

Nego, hočeš da ti ja pošaljem program pa da jednostavno probaš.
Ovako se budemo igrali danima..

E.
Postovi: 28
Postovi: 28
Pridružen/a: 16 ruj 2013, 21:38
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 0 puta
Nema potrebe a i sustavi nam nisu isti. Ja sam isprobao s drugim programom i meni radi.
Probaj još pojačati test za svaki slučaj.
Umjesto
Kod: Označi sve
if [ $PID ]; then

stavi
Kod: Označi sve
if [ -n "$PID" ]; then


Ja ti više nemam šta dodati u tome. Pregledaj razmake itd.
Evo moje:
Kod: Označi sve
#!/bin/bash

GLAVNI_TIMER=15
ISKLJ_TIMER=5

while :
do

   PID=$(pidof /usr/bin/smplayer)
   if [ -n "$PID" ]; then
       kill -15 $PID && sleep $ISKLJ_TIMER
   else
      (nohup /usr/bin/smplayer $HOME/tl.mpg &) && sleep $GLAVNI_TIMER
   fi
done
Avatar
Postovi: 1907
Postovi: 1907
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 342 puta
Spol: M
OS: Mint 10 LXDE itd...

Na mreži
Trenutno korisnika/ca: / i 7 gostiju.