English

systemd-run — 일회성 systemd 유닛 실행

Linux / 서비스 및 프로세스 관리 / systemd-run.html

서비스 및 프로세스 관리원문등록 2026-10-20T09:00:00+09:00

명령을 임시 systemd 서비스나 타이머로 실행해 자원 제어와 로그를 systemd에 맡기는 도구.

기본 정보

명령어 이름systemd-run
한 줄 소개명령을 임시 systemd 서비스나 타이머로 실행해 자원 제어와 로그를 systemd에 맡기는 도구.
제공systemd
공식 문서https://www.freedesktop.org/software/systemd/man/systemd-run.html
지원 운영체제Linux (systemd 사용 배포판)
설치 여부기본 탑재 (systemd 패키지)
분류리눅스 서비스·프로세스 (태그: 프로세스·자원 관리 (태그: systemd, 서비스, 타이머, 자원 제어))

이 명령어는 무엇인가?

systemd-run은 유닛 파일을 만들지 않고도 명령을 systemd 관리 아래에서 실행합니다.

출력은 journal에 남고, CPU·메모리 제한이나 타이머 예약 같은 systemd 기능을 그대로 쓸 수 있습니다.

어떤 문제를 해결하는가?

  • 일회성 작업도 journal에 기록하고 싶을 때.
  • CPU·메모리 사용량을 제한해 실행합니다.
  • 정해진 시각에 한 번 실행을 예약합니다.
  • 세션과 분리된 서비스로 실행합니다.

주요 기능

임시 서비스

명령을 백그라운드 서비스로 실행하고 즉시 반환합니다.

  • 활용 상황: 세션과 무관하게 실행할 때
  • 얻는 결과: systemd가 관리하는 임시 유닛
  • 제한 사항: 유닛 이름을 알아야 상태를 조회

자원 제한

CPU·메모리 속성을 지정해 자원 사용을 제한합니다.

  • 활용 상황: 한 작업이 서버를 독점하지 않게 할 때
  • 얻는 결과: 제한이 적용된 실행
  • 제한 사항: 커널 cgroup 지원이 필요

타이머 예약

--on-calendar 등으로 실행 시각을 예약합니다.

  • 활용 상황: 정기·단일 예약 실행
  • 얻는 결과: 예약된 타이머 유닛
  • 제한 사항: 타이머 상태를 따로 확인해야 함

설치 및 실행

설치 여부 확인

systemd-run --version

systemctl --version # systemd must be PID 1

실제 사용 예제

임시 서비스 실행

백그라운드 서비스로 실행합니다.

# Run a command as a transient service
systemd-run --unit=myjob /usr/local/bin/task.sh

자원 제한 실행

CPU와 메모리를 제한합니다.

# Cap memory and CPU share
systemd-run -p MemoryMax=512M -p CPUQuota=50% /usr/local/bin/task.sh

예약 실행

내일 03시에 한 번 실행합니다.

# Schedule a single run
systemd-run --on-calendar='*-*-* 03:00:00' /usr/local/bin/task.sh