Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Скрипт перезапуска программы  (Прочитано 862 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн stixia007

  • Автор темы
  • Участник
  • *
  • Сообщений: 150
    • Просмотр профиля
Скрипт перезапуска программы
« : 04 Июня 2019, 12:21:38 »
Здравствуйте. Первый раз пишу скрипт, если где ошибся поправьте пожалуйста.

Нужно было закрыть программу и запустить её заново.

#!/bin/sh

kill -9 | grep programm

cd /home/...

(./programm &)


Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5424
  • Все по палатам!
    • Просмотр профиля
Re: Скрипт перезапуска программы
« Ответ #1 : 04 Июня 2019, 12:25:35 »
stixia007, если это сервер, может его и запускать как сервер. systemd поизучай.
Извините, я все еще учусь

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1578
    • Просмотр профиля
Re: Скрипт перезапуска программы
« Ответ #2 : 04 Июня 2019, 12:29:40 »

Оффлайн stixia007

  • Автор темы
  • Участник
  • *
  • Сообщений: 150
    • Просмотр профиля
Re: Скрипт перезапуска программы
« Ответ #3 : 04 Июня 2019, 12:33:15 »
stixia007, если это сервер, может его и запускать как сервер. systemd поизучай.
Понял )) видимо слишком по нубски написал. Я мало в этом понимаю нужен был скрипт, вроде написал буду проверять тогда.

Оффлайн ALiEN175

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5440
  • Сделай шаг и пройдешь милю
    • Просмотр профиля
Re: Скрипт перезапуска программы
« Ответ #4 : 04 Июня 2019, 12:35:16 »
Код: (bash) [Выделить]
#!/bin/bash

PD=$(pgrep programm) && kill -9 $PD
/path/to/programm &
disown

ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн stixia007

  • Автор темы
  • Участник
  • *
  • Сообщений: 150
    • Просмотр профиля
Re: Скрипт перезапуска программы
« Ответ #5 : 04 Июня 2019, 12:37:20 »
pr=programm
pgrep $pr | xargs -I {} kill -9 {}
$pr || ./$pr &
Благоадрю. Треть строчка запускать программы. А как скрипт поймёт с какой директории запускать программу? Или я что-то не понимаю ))

Пользователь добавил сообщение 04 Июня 2019, 12:41:25:
#!/bin/bash
 
PD=$(pgrep programm) && kill -9 $PD
/path/to/programm &
disown
Всем спасибо. В общем много ещё изучать нужно для написания скриптов, погнался я куда... :D

ТС, как видно по состоянию на 22/02/2020 потерял интерес к созданной им теме (пометка Решено в теме отсутствует, тема оставлена не закрытой, сообщений в теме давно не было). Тема стародавняя (последнее сообщение в топике: 04/06/2019; последнее сообщение от ТС в топике: 04/06/2019). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 22 Февраля 2020, 06:53:46 от zg_nico »

Оффлайн ALiEN175

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5440
  • Сделай шаг и пройдешь милю
    • Просмотр профиля
Re: Скрипт перезапуска программы
« Ответ #6 : 04 Июня 2019, 12:45:11 »
ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Скрипт перезапуска программы
« Ответ #7 : 04 Июня 2019, 12:57:58 »
pr=programm
while true
do
pgrep $pr || break
done | xargs -I {} kill -9 {}
$pr &
Нельзя друзья, дулу - AnrDaemon видите?
~.o

 

Страница сгенерирована за 0.035 секунд. Запросов: 24.