Задать вопрос
@petriychuk

Как правильно завершать процес в Linux из bash скрипта?

Я хочу сохранить поток аудио через команду wget. Для того чтоб сохранить опеределенное время нужно после задержки завершить процесс.
Вот пример кода:
wpid=$!
sleep 60;
kill -1 $wpid

Вопрос 1 - В чем причина может быть, что команда kill не работает? wpid присваевается id процесса, через echo выводиться, а вот kill не убивает этот процес. Хотя если в консоли прописать команду, то все отлично работает.
Вопрос 2 - Почему в команде sleep если не ставить точку с запетой появляеться возле цифры символы и не работает задержка?
  • Вопрос задан
  • 2654 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@petriychuk Автор вопроса
Все дело в gedit, после создания файла в nano редакторе все отлично заработало.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Я бы на вашем месте начал с wget --timeout=<...>
Если это не подходит -- продолжил бы timeout -k 1 <...> wget

Вопрос 2 - Почему в команде sleep если не ставить точку с запетой появляеться возле цифры символы и не работает задержка?

вы что-то делаете неправильно. Приведите полный текст скрипта.
Ответ написан
egor_nullptr
@egor_nullptr Куратор тега Linux
wget -q ..... &
echo "kill -s TERM $!" | at "now + 1 min"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы