Forwarded from Linux: Системный администратор
🧠 Что делает команда
Многие слышали о
🔹 Что делает
Она заменяет текущий процесс новым, без создания дочернего. То есть, вместо запуска новой программы — текущий процесс «перевоплощается» в неё.
Простой пример:
В этом случае оболочка
🛠 Где это может пригодиться:
1. В systemd-юнитах — при запуске сервиса через скрипт:
Это позволит системе правильно отслеживать основной процесс.
2. В контейнерах (например, Docker) — если вы запускаете скрипт в качестве
3. Для перенаправления ввода/вывода:
Всё, что будет выведено в stdout и stderr после этой строки — пойдёт в лог.
⚡
А вы используете
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
exec в bash — и зачем она нужна?Многие слышали о
exec, но используют редко. А зря! Это мощный инструмент, особенно в скриптах и системном администрировании.🔹 Что делает
exec? Она заменяет текущий процесс новым, без создания дочернего. То есть, вместо запуска новой программы — текущий процесс «перевоплощается» в неё.
Простой пример:
exec top
В этом случае оболочка
bash будет заменена на top, и когда вы закроете top, сессия завершится.🛠 Где это может пригодиться:
1. В systemd-юнитах — при запуске сервиса через скрипт:
#!/bin/bash
exec /usr/bin/myapp
Это позволит системе правильно отслеживать основной процесс.
2. В контейнерах (например, Docker) — если вы запускаете скрипт в качестве
ENTRYPOINT, используйте exec, чтобы сигналы (например, SIGTERM) корректно передавались вашему приложению.3. Для перенаправления ввода/вывода:
exec >> /var/log/myscript.log 2>&1
Всё, что будет выведено в stdout и stderr после этой строки — пойдёт в лог.
⚡
exec не делает магии, но помогает делать вещи правильно. Особенно там, где важна замена PID и корректная работа сигналов.А вы используете
exec в своих скриптах? Поделитесь опытом 👇#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
👍8