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

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×