Кажется, что так и должно быть:
Из журнала изменений selinux-policy-3.12.1-139:
- Разрешить ввод systemd_cronjob_t через, bin_t
Do у вас есть какие-либо ошибки в /var/log/audit/audit.log
, относящиеся к mariadb
? Быстрая и простая проверка состоит в том, чтобы setenforce = 0
и запустить задания cron
. Если им лучше, то это был SELinux, вызвавший проблему.
-121--230623-
Если в системе имеется systemd, для этого можно использовать события таймеров. Просто определите новую службу , которая должна содержать команду/задачу, которую необходимо выполнить, а затем создайте событие таймера с параметром OnUnitActiveSec
:
[Unit]
Description=daily + 1 hour task
[Timer]
OnUnitActiveSec=25h # run 25 hours after service was last started
AccuracySec=10min
[Install]
WantedBy=timers.target
Используйте то же имя для файлов, за исключением того, что вместо .service
используется .timer
.
Синтез:
job.service
в каталоге /etc/systemd/system/
. systemctl status job.service
. job.timer
в /etc/systemd/system/
. Заполните его необходимой информацией:
[Единица измерения]
Описание = ежедневная + 1 часовая задача
[Таймер]
OnUnitActiveSec = 25h # запуск через 25 часов после последнего запуска службы
Рс = 10мин
[Установить]
PaydBy = timers.target
systemctl list-timers
-121--26842-
Вопрос содержит свой ответ. Отправка SIGINT
в процесс cat
с помощью kill
является идеальным моделированием того, что происходит при нажатии ^ C
.
Более точно, символ прерывания ( ^ C
по умолчанию) посылает SIGINT
каждому процессу в основной группе процессов терминала. Если бы вместо cat
выполнялась более сложная команда, включающая несколько процессов, для достижения того же эффекта, что и ^ C
, необходимо было бы убить группу процессов.
При выполнении любой внешней команды без оператора фонового режима и
оболочка создает новую группу процессов для этой команды и уведомляет терминал о том, что эта группа процессов теперь находится в основном режиме. Оболочка по-прежнему находится в собственной группе процессов, которая больше не находится на переднем плане. Затем оболочка ожидает выхода команды.
Вот где вы, кажется, стали жертвой распространенного заблуждения: идея о том, что оболочка делает что-то, чтобы облегчить взаимодействие между ее детским процессом (ами) и терминалом. Это просто неправда. После выполнения работы по настройке (создание процесса, настройка терминального режима, создание каналов и перенаправление других дескрипторов файлов и выполнение целевой программы) оболочка просто ожидает . То, что вы вводите в cat
не проходит через оболочку,нормальный вход или генерирующий сигнал специальный символ, например ^ C
. Процесс cat
имеет прямой доступ к терминалу через собственные файловые дескрипторы, а терминал имеет возможность посылать сигналы непосредственно процессу cat
, поскольку он является основной группой процессов. Снаряд сошел с пути.
После завершения процесса cat
оболочка будет уведомлена, поскольку она является родительским объектом процесса cat
. Затем оболочка становится активной и снова ставит себя на передний план.
Вот упражнение, чтобы улучшить ваше понимание.
В ответ на запрос оболочки в новом терминале выполните следующую команду:
exec cat
Ключевое слово exec
вызывает выполнение оболочки cat
без создания дочернего процесса. Оболочка заменена на кошку
. PID, ранее принадлежавший оболочке, теперь является PID cat
. Проверьте это с помощью ps
в другом терминале. Введите несколько случайных строк и посмотрите, что cat
повторяет их обратно вам, доказывая, что он все еще ведет себя нормально, несмотря на отсутствие процесса оболочки в качестве родительского. Что произойдет, когда вы нажмете ^ C
сейчас?
Ответ:
SIGINT доставляется в процесс cat, который умирает. Потому что это был единственный процесс на терминале, сеанс заканчивается, как если бы вы сказали «выход» в командной строке. Фактически кот некоторое время был вашей оболочкой.
Следующая команда изменения размера:
Это приведет к расширению файла [115482].img[115483] на 2 ГБ. Измените аргумент на [115484]усеченный[115485] на любой размер, на который вы хотите расширить файл [115486].img[115487].
СсылкиКак увеличить место на гостевом диске KVM?