У меня есть работа, которая работает всегда, как только она начинается. Поэтому я хочу запустить его только один раз после ввода его в файл "crontab -e" и сохранения его (или) всякий раз, когда происходит перезагрузка.
Как этого добиться?
Если вы хотите, чтобы команда запускалась один раз позднее, используйте at
команду.
Если вы хотите, чтобы команда запускалась один раз при загрузке системы, правильное решение - использовать либо:
@reboot
специальным префиксом (см. man-страницу)Последний вариант - единственный вариант для пользователя без полномочий root.
at now
@reboot
.Вы можете использовать в (1), чтобы запустить работу в какой-то момент в будущем. Однако, если вы хотите запустить что-то при загрузке, и оно продолжит работать само по себе, может быть, вам нужна запись в /etc/init.d/ для этого? Это позволит вам запустить его при загрузке.
источник
kill
(при условии, что у вас есть разрешения для этого, что вы делаете для своих собственных процессов). Создание сценария инициализации действительно легко. Ищите/etc/init.d/
сценарий, который не очень длинный и смоделируйте ваш после него, или Google дляmaking init scripts (your distribution)
./etc/init.d/skeleton
на openSuSE), который вы можете адаптировать для своего использования.Работа, которая выполняется только один раз и выполняется до тех пор, пока вы не скажете ей умереть, называется «демон». Обычно они запускаются через сценарии инициализации в /etc/init.d/.
Если ваша работа заканчивается в какой-то момент и может считаться одноразовой работой, то вы можете посмотреть на команду at. Например, если бы я хотел запустить команду поиска в 10 вечера сегодня вечером, и только один раз я бы сделал:
источник
Посмотрите на команду
источник