본문 바로가기

systemctl3

부팅 시 프로그램 자동 실행하기 리눅스 시스템 부팅 시에 내가 원하는 프로그램을 자동 실행하기 위한 방법을 알아보겠습니다. 서비스(service) 파일 생성 $ vi myprogram.service 아래처럼 세 개의 섹션으로 구성된 파일을 작성합니다. [Unit] Description=My Service Program After=network.target [Service] ExecStart=/home/run/services/myprogram WorkingDirectory=/home/run/services StandardOutput=inherit StandardError=inherit Restart=always User=root [Install] WantedBy=multi-user.target 서비스 파일 복사 $ sudo cp mypr.. 2023. 8. 8.
systemctl 명령어 리눅스 부팅 시 시스템을 초기화하거나 서비스들을 실행하기 위한 환경을 제공하는 등 서비스들을 관리하는 프로세스가 필요합니다. 이런 역할을 systemd이 맡습니다. 이전 리눅스 버전에서는 init 프로세스(PID1)가 담당했었는데 최신 버전에서는 systemd이 담당하고 있습니다. systemd는 init 프로세스의 한계를 극복하고 보다 더 많은 기능을 제공하면서도 병렬 실행을 통해 부팅 속도를 향상시켰습니다. 즉, systemd는 리눅스 시스템이 부팅할 때 실행되는 프로세스를 제어하기 위한 표준 프로세스입니다. 프로세스명에 'd'를 붙인 프로세스를 보통 데몬이라고 합니다. 다시 설명하면 데몬은 사용자가 직접적으로 제어하지 않고 백그라운드에서 여러 작업을 하는 프로그램입니다. 이러한 데몬들을 servic.. 2023. 4. 25.
systemctl vs service 가끔씩 프로그램을 설치하거나 설정을 변경할 경우 프로그램을 재시작해야 하는 경우가 있습니다. 이럴 때 service 명령어를 사용할지 아니면 systemctl 명령어를 사용할지 헷갈리곤 합니다. 물론 둘 중 어느 것을 사용하더라도 같습니다만... service init.d에서 서비스 관리 시 사용하는 명령으로 이전 리눅스 배포 버젼에서 사용하는 명령어이며 최근 리눅스 배포판에서 service 명령을 사용할 경우 systemctl로 전달되어 처리됩니다. systemctl 최근 리눅스 배포 버전에서 서비스 유닛(서비스이름.service)을 관리 하는데 사용하는 명령어로 /usr/lib/systemd 또는 /lib/systemd/system 디렉토리 아래에 확장자가 .service인 파일을 만들면, syste.. 2023. 4. 25.