Portál AbcLinuxu, 13. května 2025 23:35
while true do cat /home/ja/oznameni.txt sleep 3600 done | aplikaceKde
/home/ja/oznameni.txt
má jeden řádek ukončený enterem.
Tohle jsi myslel?
($_SYSTEM_BIN/SYSTEM-ip -c $_SYSTEM_ETC/ip.conf)&
?
Jinak, co to je, ten vzdálený klient?
$_SYSTEM_BIN/SYSTEM-iplogovani
je ten server, co posílá data z stdin klientovi, pak řádek:
$_SYSTEM_BIN/SYSTEM-iplogovani -c $_SYSTEM_ETC/SYSTEMd.conf 2>$_LOG_DIR/${logD}/${logF}.lognahradit:
while true do cat /home/ja/oznameni.txt sleep 3600 done | $_SYSTEM_BIN/SYSTEM-iplogovani -c $_SYSTEM_ETC/SYSTEMd.conf 2>$_LOG_DIR/${logD}/${logF}.log
pri nabihani toho serveru (trva to zhruba 30 sekund) se to ted sekne na minutuNetuším proč. Mně to spustí druhý proces ihned.
to sleep 60 znamena 60sekund pred kazdou zpravou, ze?Ano
Jinak da se to prepsat tak aby to zacalo delat az treba minutu po spusteni?
while sleep 60 do cat /home/ja/oznameni.txt done | $_SYSTEM_BIN/SYSTEM-iplogovani -c $_SYSTEM_ETC/SYSTEMd.conf 2>$_LOG_DIR/${logD}/${logF}.lognebo
(sleep 60 while true do cat /home/ja/oznameni.txt sleep 3600 done) | $_SYSTEM_BIN/SYSTEM-iplogovani -c $_SYSTEM_ETC/SYSTEMd.conf 2>$_LOG_DIR/${logD}/${logF}.log
Ale to ze to spamovalo kazdou sekundu si nedokazu vysvetlit....Já taky ne.
(sleep 60
while true
do
cat /home/ja/oznameni.txt
sleep 3600
done) | $_SYSTEM_BIN/SYSTEM-iplogovani -c $_SYSTEM_ETC/SYSTEMd.conf
2>$_LOG_DIR/${logD}/${logF}.log
to uz je lepsi - ale....
po spusteni se napise jen prvni radek (po stanovenem case - dal jsem tam 6 sekund), jenze po te dobe se jiz dalsi radek nezobrazi, navic mi nejde tam nic psat (napsany prikaz se neprovede - normal kdyz treba napisu send NICK message tak to posle zpravu a napise ze to bylo odeslano, ted to vubec nereaguje (ani to nenapise neznamy prikaz...)
ps: jak delaty to CODE ? - kdyz text vlozim do CODE tak se mi to zformatuje uplne spatne test test proc to neni v tom okne :D?
#!/usr/bin/python import sys, select, time startSleep=2 sleep=5 t=time.time()+startSleep while True: r = select.select([sys.stdin], [], [], t-time.time()) if r[0]: print sys.stdin.readline() if t<time.time(): f=open('/home/ja/oznameni.txt', 'r') print f.read() f.close() t=time.time()+sleepto uložit nekam.py a Tvůj skript upravit na:
python nekam.py | $_SYSTEM_BIN/SYSTEM-iplogovani -c $_SYSTEM_ETC/SYSTEMd.conf
./test2: line 44: 9447 Done(1) python /home/Nes/oznameni.py 9448 Neoprávněný přístup do paměti (SIGSEGV) | $_SYSTEM_BIN/SYSTEM-iplogovani -c $_SYSTEM_ETC/SYSTEM.conf 2>$_LOG_DIR/${logD}/${logF}.log
(sleep 20 while true do cat /home/nes/oznameni.txt sleep 20 done) |funguje takto: nabehne, zkopiruje vsechny radky co jsou v souboru, pocka 20sekund a zkopiruje znovu vsehcny (najednou) a znovu.... + neda se psat - cokoliv napisu a odentruju tak vubec nebere - jako bych to psal jinam, pritom automaticky vkladane radky se zobrazi a i projevi, ale to co pisu tak ne.... mozna bych v nejhorsim zustal u tohoto... (mozna lepsi nez aby to vkladalo po jednom radku - me se hodi 5 radku zaraz asi vic....) jen vidim prave jeden nedostatek ze tam nemohu rucne uz nic davat, respektive mohu, ale neprojevi se to
mkfifo /tmp/ipfifo while sleep 20;do cat /tmp/r; done > /tmp/ipfifo & x_pid=$! cat > /tmp/ipfifo | $_SYSTEM_BIN/SYSTEM-iplogovani -c $_SYSTEM_ETC/SYSTEMd.conf 2>$_LOG_DIR/${logD}/${logF}.log < /tmp/ipfifo kill $x_pid rm /tmp/ipfifoJe to opičárna, ale fungovat byto mělo. Mně se spíš líbil ten python.
mkfifo /tmp/ipfifo while sleep 20;do cat /tmp/r; done > /tmp/ipfifo & x_pid=$! cat > /tmp/ipfifo | $_SYSTEM_BIN/SYSTEM-iplogovani -c $_SYSTEM_ETC/SYSTEMd.conf 2>$_LOG_DIR/${logD}/${logF}.log < /tmp/ipfifo eState=$?; kill $x_pid rm /tmp/ipfifo
trochu mi to nefunguje - vsechny /tmp/ipfifo jsem zamenil za /home/ja/oznameni.txt - to je ok? jinak co mam dat misto /tmp r - to tak mam nechat?naopak
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.