Skocz do zawartości
Zaloguj się, aby obserwować  
Lan Hikari

Windows -> Linux

Polecane posty

Dzisiaj zwracam się do Was z taką prośbą: czy byłby ktoś w stanie przetłumaczyć mi poniższy kod (batch) na język linuxa? :)

 

@echo off


 	 title Restarter
   :start
 	    set time=3500
 	    start Run.cmd //w wersji linuxowej - uruchom.sh
   :loop
 	    cls
 	    IF %time% GTR 0 (
 	         set /a time=%time% - 1
 		           set /a min=%time%/60
 			             echo Next Restart In %time% Seconds.
 		           echo %time% Seconds is %min% Minutes.
 	         ping 127.0.0.1 -n 2 > NUL
 	    goto loop
 	    ) 
 	    taskkill /f /im java.exe
 	    cls
 goto start

 

Wiem, że niektóre osoby z tego forum biegle potrafią się "porozumiewać po linuxowemu" dlatego zwracam się do Was z tą prośbę :)

 

Pozdrawiam i z góry dziękuję za pomoc :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

tak na szybko.. o takie cos chodziło?

 

#!/bin/sh

echo "Restarter..."

time=3500

while [ $time -gt 0 ]
do

time=$(( $time - 1 ))

min=$time/60

echo "Next Restart In $time Seconds..."
echo "$time Seconds is $min Minutes"

#/bin/ping 127.0.0.1 -n 2 > /dev/null
sleep 1

done

killall -9 java

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Widzę, że jednak ktoś postanowił odpisać :)

o takie cos chodziło?

no prawie ;) potrzebuję skrypt, który uruchomi aplikacje w javie (odpalaną bezpośrednio poprzez ./start.sh) i zamknie ją po godzinie oraz uruchomi ponownie. Jak sama nazwa wskazuje - restarter :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

aha ;) no dobra :) trza trochę to przerobić.. jak się wyrobie to jeszcze dzisiaj jakąś poprawke wrzuce

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

wykombinowałem tym razem coś takiego:

 

#!/bin/sh

echo "Restarter..."

time=3600

while true;
do

./start.sh
sleep 3600
killall -9 java

done

 

trochę prostsze ;) masterem w bashu nie jestem ale chyba powinno działać :) chociaż takie coś to powinno sie z crona robić

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Niestety nie działa. Pokombinowałem sam ale też niezbyt mi chodzi. W sumie najlepiej by było, gdyby skrypt odpalał screen'a z ./start.sh, po godzinie go wyłączał i odpalał jeszcze raz tego screena :) Byłby ktoś w stanie coś takiego napisać?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

a możesz dodać skrypt do crona? wtedy może być np:

 

#!/bin/bash

killall java

screen -dmS daemonek /jakis/folder/start.sh

 

lub coś podobnego

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Proszę bardzo, jak nie masz dostępu do crona;

 

#!/bin/bash

nazwasesji="sesja"

while true;

do

screen -S $nazwasesji -md /home/linux/cos.sh &

sleep 3600

find=`ps -ef | grep SCREEN | grep $nazwasesji | grep -v grep | awk '{ print $2}'`

kill $find

done

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zaloguj się, aby skomentować

Będziesz mógł dodać komentarz po zalogowaniu się



Zaloguj się
Zaloguj się, aby obserwować  

×