[...]
>В кроне запускается скрипт каждый час. Но есть проблема что он за
>час может не отработать до конца. Хотел сделать по умному, как
>делают обычно во всех программах. Т.е. в /var/tmp создать файлик с
>PID процесса, хотя туда даже PID не обязательно помещать.PID-файлы надо создавать в /var/run:
%
/var/run
Run-time variable files, like files holding process identifiers
(PIDs) and logged user information (utmp). Files in this direc-
tory are usually cleared when the system boots.
%
(с) man 7 hier
Вот пример,как можно создать:
lock_dir=/var/run
lock_file=$lock_dir/program.pid
trap 'rm -f $lock_file' 1 2 3 4 6 8 9 11 13 14 15
printf '%d\n' $$ > $lock_file
...
rm -f $lock_file
Обрати внимание на trap, это позволит удалять lock-файл при поступлении сигналов разных.
> И при
>старте программы проверять. Существует ли данный файл, если да то завершить
>скрипт, если нет то продолжить выполнение а в конце этот файл
>стереть.
if [ -f /var/run/program.pid ]; then
echo "Program already started!" ?&2
exit 1
fi