The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Раздел полезных советов: Скрипт для конвертации архива gz в lzma, auto_tips (ok), 27-Фев-22, (0) [смотреть все] +2

Сообщения [Сортировка по времени | RSS]


15. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от Pavel (??), 23-Мрт-22, 16:04 
А чего тут муторного?

PIDFILE="/run/myscript.pid"

if [ -f "${PIDFILE}" ]; then
    pkill -0 -F "${PIDFILE}" \
    && echo "Script already run" \
    && exit 0 \
    || echo "Starting new instance"
fi
echo $$ > "${PIDFILE}"

Ответить | Правка | Наверх | Cообщить модератору

26. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от ммнюмнюмус (?), 31-Мрт-22, 23:37 
> А чего тут муторного?
> PIDFILE="/run/myscript.pid"
> if [ -f "${PIDFILE}" ]; then
>     pkill -0 -F "${PIDFILE}" \
>     && echo "Script already run" \
>     && exit 0 \
>     || echo "Starting new instance"
> fi
> echo $$ > "${PIDFILE}"

Если на полную катушку, то у шеллов (не только bash) должны быть стандартные пути для скриптов-библиотек, включая сами библиотеки. Вот это была бы моща.

Ответить | Правка | Наверх | Cообщить модератору

37. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от Аноним (36), 13-Апр-22, 12:40 
Так это делают: source /папка/файл

Только тогда необходимость учитывать в каждый момент времени много скушных неочевидных обстоятельств. Которые в продвинутых языках не допускают для уменьшения числа ошибок.

Знания, что у каких-то топовых шелл 'set +e' будет принудительно сделан по POSIX при уровне вложенности более x (x=2, если верно помню), хоть бы и напишешь 'set -e'. И т.д. про '-o pipefail'. Что надёжные коды возврата из функций только строго беззнаковый байт.

Что если при 'set -x' есть $0 и $LINENO внутри PS4, то в случае source сработает неудобно.

Пространства имён переменных. Вот это всё про local, export... Проблемность глобальности переменных.

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

Ответить | Правка | Наверх | Cообщить модератору

39. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от ммнюмнюмус (?), 17-Апр-22, 16:16 
> Знания, что у каких-то топовых шелл 'set +e' будет принудительно сделан по POSIX при уровне вложенности более x (x=2, если верно помню), хоть бы и напишешь 'set -e'

А это точно есть в posix?
posix-мануал для set про это ни слова (про опцию -e), да и слов force / nest там не найдено.

По моему, если про это не сказано в стандарте, значит это против него).

Ответить | Правка | Наверх | Cообщить модератору

40. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от ммнюмнюмус (?), 17-Апр-22, 16:32 
'-o pipefail' тоже не по posix
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

28. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от ммнюмнюмус (?), 31-Мрт-22, 23:51 
# То же самое, но чуть более читаемо

PIDFILE="/run/myscript.pid"

if [ -f "${PIDFILE}" ] && pkill -0 -F "${PIDFILE}"; then
    echo "Script already run"
    exit 0
fi
echo "Starting new instance"
echo $$ > "${PIDFILE}"

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

32. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от Аноним (34), 07-Апр-22, 03:06 
> А чего тут муторного?
> PIDFILE="/run/myscript.pid"
> if [ -f "${PIDFILE}" ]; then
>     pkill -0 -F "${PIDFILE}" \
>     && echo "Script already run" \
>     && exit 0 \
>     || echo "Starting new instance"
> fi
> echo $$ > "${PIDFILE}"

Вроде бы есть утилитка, которая нечто подобное реализует.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру