Доброе утро.
Понадобилась ваша помощь.
Нужно написать bash скрипт, что бы он вот что делал:
1. Запустить java программу. java -jar game.java
2. Ждать 5 часов.
3. Через пять часов вырубать программу.
4. Включать его.
И так в цыкле.
Буду очень благодарен если кто-то поможет.
Нужна вопощь в написании bash скрипта
Вам нужено чтобы написали готовый скрипт или вам помогли написать?
Если первое то тема неправильно названа, если второе, то покажите хотя бы то, что сами уже написали.
Тема неправильно написана.
1. Запустить java программу. java -jar game.java
2. Ждать 5 часов.
3. Через пять часов вырубать программу.
4. Включать его.
И так в цыкле.
1) вы уже написали почти...
(
java ... &
)
2) sleep 5h
3)
(
java ... &
echo "&!" /tmp/z.pid
)
sleep 5h
kill `cat /tmp/z.pid`
rm /tmp/z.pid
4)
while true; do
тело
doneвсё готово, пишите. я за деньги только пишу неосиляторам.
Вот что пишет:
[console]
&! /tmp/z.pid
cat: /tmp/z.pid: Нет такого файла или каталога
kill: использование: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
rm: невозможно удалить `/tmp/z.pid': Нет такого файла или каталога
[/console]
Создал z.pid файл и на него права сделал.
Теперь вот что пишет:
[console]kill: использование: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec][/console]
и z.pid - пустой.
koka3000, вы голову подключили?
#/bin/bash
# тут ВАМ надо что-то написать
# это я вам кусок скрипта бесплатно написал:
(
#вместо ... чё-то надо вписать. ВАМ надо, а не мне!
java ... &
echo "&!" >/tmp/z.pid
)
sleep 5h
kill `cat /tmp/z.pid`
rm /tmp/z.pid
# И тут тоже что-то
эх... для совсем ленивых
Показать
Я и переделал, но дело не в этом.
[console]echo "&!" /tmp/z.pid # вот как вы первый раз написали. Тогда [/console]
Вот что выводит:
kill: использование: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
и файл z.pid пустой
[console]echo "&!" >/tmp/z.pid # вот как вы сейчас написали:[/console]
Тогда выводит:
[console]./bash: строка 8: kill: &!: аргументы должны быть идентификаторами процесса или задачи[/console]
И в файле просто написано:
[console]&![/console]
# вот как вы первый раз написали. Тогда
ну вы подумайте, ЧТО это такое...
аргументы должны быть идентификаторами процесса или задачи
ещё-бы. $! в интерактивном режиме значит "посл. параметр прошлой команды", а в неинтерактивном (в скрипте) значит "PID прошлого процесса". вам скрипт помогать писать, или вы команды сами пишете?
Вот что выводит:
kill: использование: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
и файл z.pid пустой
дык в этом файле должен быть PID, который ждёт kill.