일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 취준
- udev
- 데몬 프로세스
- systemd
- pthreads
- 라즈베리파이
- raspberry pi 4
- 임베디드 리눅스
- SQLite
- wiringpi
- 커널 모듈
- .so 라이브러리
- rtsp
- cdev
- 노션
- 디바이스 트리 작성법
- 금융권 취준
- IOT
- 라즈베리파이 카메라
- /dev
- ioctl
- 캐릭터 디바이스
- 리눅스 커널 드라이버
- 개발자 취준
- 디바이스 트리
- 가계부 개발
- 바이브 코딩
- 멀티클라이언트
- yocto
- qt widget
- Today
- Total
목록systemd (2)
이로또
라즈베리파이에서 C++ FastCGI 서버를 운영 환경에 맞게 자동 실행되는 서비스로 구성하고 싶다면, systemd 등록이 가장 깔끔한 방법입니다. 이 글에서는 FastCGI 서버를 systemd에 등록하고 부팅 시 자동 실행되도록 설정하는 전체 과정을 정리합니다.1. 실행 스크립트 작성spawn-fcgi 명령어가 길기 때문에 실행 스크립트를 만들어 관리합니다. 서버 프로젝트 루트 디렉토리에 아래 스크립트를 저장합니다.# start_server.sh#!/bin/bash# 기존 소켓 파일이 있다면 삭제rm -f /tmp/cctv.sock# FastCGI 서버 실행/usr/bin/spawn-fcgi -s /tmp/cctv.sock -U www-data -G www-data -- \/home/iam/Docu..
이 프로젝트를 진행하며 단순히 기능이 동작하는 것에서 멈추지 않고,현실적인 운영 환경에서도 안정적으로 작동하고 유지보수 가능한 시스템을 목표로 삼았습니다.서버가 백그라운드에서 항상 실행되며,정상 종료 시 자원을 정리하고,기능이 바뀌어도 전체를 다시 컴파일하지 않고,한 줄의 빌드 명령어로 전체 시스템을 구성할 수 있는 구조이러한 요구를 충족하기 위해데몬 프로세스 구성, 공유 라이브러리화, systemd 서비스 등록, 빌드 자동화 기능을 직접 구현하였습니다.공유 라이브러리(.so) 구조 및 동적 로딩 구현라이브러리는 server/lib 폴더에 저장되며, 각 장치 기능은 .so 파일 단위로 모듈화되어 있습니다.기능 변경 시 전체 서버를 재빌드할 필요 없이 .so 파일만 교체하면 되므로 유지보수성이 매우 높아집..