сбой стада в Debian 7.11 - PullRequest
       26

сбой стада в Debian 7.11

0 голосов
/ 01 июля 2019

Я хочу, чтобы мой скрипт запускался синглтоном, я ссылаюсь на flock , скрипт работает хорошо, кроме debian 7.11.

Когда я запускаю в докере Debian 7.11, он выдает следующую ошибку: flock: ./single.sh Текстовый файл занят

Я загружаю Debian 9, он работает хорошо. Если это не может быть исправлено, я должен попробовать другой способ заставить скрипт запускаться синглтоном.

Интересно, есть ли способ исправить это.

#!/bin/bash
# singleton exec
[ "${EDR_FLOCKER}" != "$0" ] && exec env EDR_FLOCKER="$0" flock -eno "$0" "$0" "$@" || :

echo "Helloworld"
sleep 20

1 Ответ

1 голос
/ 02 июля 2019

Я нашел причину, по которой это не удалось, аргумент flock не может быть сценарием самостоятельно.Измените скрипт, как показано ниже, все работает нормально.

#!/bin/bash
# singleton exec
[ "${EDR_FLOCKER}" != "$0" ] && exec env EDR_FLOCKER="$0" flock -eno "$0.lock" "$0" "$@" || :

echo "Helloworld"
sleep 20
...