tgoop.com/DevOPSitsec/1598
Create:
Last Update:
Last Update:
🧠 Linux-хак: перезапуск процесса без остановки PID
Представь, у тебя работает демон, и ты хочешь обновить его бинарник *без остановки процесса* и *без потери PID*. Такое возможно — с помощью магии `exec`.
🔥 Трюк: заменить текущий процесс на новый:
exec /path/to/new/binary --with --args
📌 Что происходит?
- Команда
exec
заменяет текущий процесс новым — без создания нового PID- Все открытые файловые дескрипторы и сокеты сохраняются
- Работает, только если у тебя уже есть нужные права (например, через systemd или под `sudo`)
🛠 Пример в бою:
Ты перекомпилировал новый
nginx
в /usr/local/bin/nginx-new
, и хочешь подменить старый:
pidof nginx # допустим, PID = 1234
sudo nsenter -t 1234 -m -u -i -n -p -- bash
cd /usr/local/bin
exec ./nginx-new -c /etc/nginx/nginx.conf
📌 Готово! Новый бинарь работает в том же PID, открытые сокеты и дескрипторы остались на месте.
BY DevOps
Share with your friend now:
tgoop.com/DevOPSitsec/1598