Автор Тема: Скрипт завершается при выполнении команды sleep  (Прочитано 553 раз)

Оффлайн eol3000

  • Начинающий
  • *
  • Сообщений: 10
    • Email
Добрый день
Система - Alt Workstation 10.1 со всеми последними обновлениями

Ситуация слегка непонятная.
У меня из /etc/crontab от имени пользователя (не root) запускается скрипт. Из этого скрипта при определённых условиях запускается ещё один скрипт в фоновом режиме (с символом & в конце запускающей строки). Так вот, второй скрипт работает ровно до первой встретившейся команды sleep, после чего благополучно умирает. Интерпретаторы пробовал ставить и bash, и sh, результат один. При этом в обычном режиме (не фоновом) всё работает.
Мне вобщем то не критично, я могу и без фонового режима обойтись в данном случае (хотя с ним предпочтительнее). Однако в Ubuntu всё работает, а в Alt - нет. Хотелось бы понять, баг это, или фича.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 962
    • Домашняя страница
    • Email
Версии командного интерпретатора сравните.
Андрей Черепанов (cas@)

Оффлайн eol3000

  • Начинающий
  • *
  • Сообщений: 10
    • Email
Версии командного интерпретатора сравните.
В Alt версия bash 4.4.23, в Ubuntu 22.04 - 5.1.16
Но дело в том, что во первых в Ubuntu всё работало начиная с Ubuntu 14.04 (в более ранних не проверял). А второй момент - сама команда обрабатывается не интерпретатором. which sleep выдаёт /bin/sleep, то есть это внешняя по отношению к оболочке команда

Оффлайн eol3000

  • Начинающий
  • *
  • Сообщений: 10
    • Email
Хм, в первом сообщении написал, что не критично, а оказалось всё таки критично. Потому что второй скрипт запускает chrome. Но если второй скрипт запускать не в фоновом режиме, то chrome закрывается сразу, как только оба скрипта завершают работу. И nohup не помогает. Что то у меня совсем крыша едет, меньше всего подобных проблем ожидал. :-( Если кто подскажет - буду благодарен. Весь день сегодня воюю с системой.

Оффлайн eol3000

  • Начинающий
  • *
  • Сообщений: 10
    • Email
Да, попробовал с nohup под ubuntu - опять же, всё работает как надо. В Alt полный игнор nohup в моём случае. Куда копать ?
Может systemd процесс прибивает ?
« Последнее редактирование: 27.07.2023 11:54:54 от eol3000 »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 143
Да, попробовал с nohup под ubuntu - опять же, всё работает как надо. В Alt полный игнор nohup в моём случае. Куда копать ?
Может systemd процесс прибивает ?
Вполне вариант кстати. Есть пакет с настройкой: systemd-settings-disable-kill-user-processes
из https://packages.altlinux.org/en/sisyphus/srpms/systemd-settings/

Оффлайн eol3000

  • Начинающий
  • *
  • Сообщений: 10
    • Email
Вполне вариант кстати. Есть пакет с настройкой: systemd-settings-disable-kill-user-processes
из https://packages.altlinux.org/en/sisyphus/srpms/systemd-settings/
Похоже, что таки да, заработало в фоновом режиме! Sleep теперь нормально переваривается. nohup уже не стал проверять, так как мне именно фоновый режим нужен. Но по всей видимости он тоже работать будет.
Спасибо большое!