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