Для mcrypt.h
необходимо установить libmcrypt-dev
. Установка его в ваш дистрибутив Ubuntu не поможет, потому что вы используете кросс-компиляцию, а не нативную. Либо ваш sysroot
должен предоставлять это (но это не так), либо вы должны установить его, изменив корневой каталог на sysroot через chroot
.
Возможно, используйте lockfile
(из проекта procmail) для такого сценария "отменить и перезагрузить".
#!/bin/bash
SLEEP=$1
LOCKFILE="/tmp/reload.lock"
MYPID=$$
MYNAME=$(basename "$0")
lockfile "$LOCKFILE"
# kill all other scripts with the same name
KILLPIDS=$(pgrep "^${MYNAME:0:12}" | grep -v "^$MYPID\$")
kill $KILLPIDS 2>/dev/null
rm -f "$LOCKFILE"
sleep "$SLEEP"
lockfile "$LOCKFILE"
/etc/init.d/myscript reload
rm -f "$LOCKFILE"
Максимум один скрипт будет выполняться между командами lockfile
и rm
.
Обратите внимание: файл reload-lock
лучше разместить там, где только один пользователь имеет права на запись (не /tmp
!).