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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: [РЕШЕНО] Запуск независимого скрипта из другого скрипта  (Прочитано 16914 раз)

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

Оффлайн antonmayko

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Всем привет.

У меня есть скрипт, который должен запустить другой скрипт, который содержит бесконечный цикл.

Схематично это выглядит так:

script1.sh

#!/bin/bash
...
...
...
# Идет какой-то код
...
...
...
# И в конце запуск второго скрипта
/etc/script2.sh

exit


Скрипт script1.sh в конце своей работы должен запустить script2.sh, который содержит бесконечный цикл.
Я пробовал писать
/etc/script2.sh &не помогло.
пробовал
screen /etc/script2.shно screen ругается на то, что должен запускаться из терминала.

А вот если запуск скрипта поместить например в файл:
/etc/init.d/rc.local
То при запуске компа rc.local запускает записанные в него скрипты как-то независимо и при этом сам завершает свою работу.

А я никак не могу добиться чтобы script1.sh запустил независимый script2.sh, а сам полностью завершил работу.

« Последнее редактирование: 10 Февраля 2011, 12:14:10 от antonmayko »

Оффлайн gaudin

  • Участник
  • *
  • Сообщений: 227
    • Просмотр профиля
a="путь_до_скрипта"
exec $a
exit 0
Ubuntu 10.04.01 ядро 2.6.37-12

Оффлайн antonmayko

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
a="путь_до_скрипта"
exec $a
exit 0

не работает. На экран выводятся сообщения второго скрипта с бесконечным циклом.
И не возвращается приглашение консоли.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
$ tail *.sh
==> 1.sh <==
#!/bin/bash

date >1.txt
./2.sh &
date >>1.txt

exit 0

==> 2.sh <==
#!/bin/bash

while : ; do sleep 5 ; date >>2.txt ; done

exit 0

$ ./1.sh

$ pgrep -l 2.sh
10080 2.sh

$ tail *.txt
==> 1.txt <==
Пнд Фев  7 14:23:04 MSK 2011
Пнд Фев  7 14:23:04 MSK 2011

==> 2.txt <==
Пнд Фев  7 14:23:09 MSK 2011
Пнд Фев  7 14:23:14 MSK 2011
Пнд Фев  7 14:23:19 MSK 2011
Пнд Фев  7 14:23:24 MSK 2011

$ pkill 2.sh

$ pgrep -l 2.sh

$

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Цитировать
Я пробовал писать
Код: /etc/script2.sh &
не помогло.
Что значит не помогло? У всех работает...

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
nohup /etc/script2.sh >/dev/null 2>&1 &

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
chmod +x script2

в script1
sh sctipt2

УМВР
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн antonmayko

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
$ tail *.sh
==> 1.sh <==
#!/bin/bash

date >1.txt
./2.sh &
date >>1.txt

exit 0

==> 2.sh <==
#!/bin/bash

while : ; do sleep 5 ; date >>2.txt ; done

exit 0

$ ./1.sh

$ pgrep -l 2.sh
10080 2.sh

$ tail *.txt
==> 1.txt <==
Пнд Фев  7 14:23:04 MSK 2011
Пнд Фев  7 14:23:04 MSK 2011

==> 2.txt <==
Пнд Фев  7 14:23:09 MSK 2011
Пнд Фев  7 14:23:14 MSK 2011
Пнд Фев  7 14:23:19 MSK 2011
Пнд Фев  7 14:23:24 MSK 2011

$ pkill 2.sh

$ pgrep -l 2.sh

$

Сделал по вашим примерам. Вроде как работает.

Спасибо!!!

 

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