![systemd 템플릿 서비스의 경우 상태 출력이 ExecStart에서 %i를 확장하지 않습니다.](https://linux55.com/image/225476/systemd%20%ED%85%9C%ED%94%8C%EB%A6%BF%20%EC%84%9C%EB%B9%84%EC%8A%A4%EC%9D%98%20%EA%B2%BD%EC%9A%B0%20%EC%83%81%ED%83%9C%20%EC%B6%9C%EB%A0%A5%EC%9D%B4%20ExecStart%EC%97%90%EC%84%9C%20%25i%EB%A5%BC%20%ED%99%95%EC%9E%A5%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
서비스 스크립트는 이름에 %i가 확장된 bash 스크립트를 올바르게 시작하지만 상태를 요청하면 %i가 확장되지 않습니다. 스크립트는 다음과 같습니다.
#cat /etc/systemd/system/[email protected]
# The test service unit template file
#
# version=$Header
[Unit]
Description=test %I instance
[Service]
Type=forking
KillMode=process
ExecStart=/bin/bash /tmp/test_service_script_%i
#cat /tmp/test_service_script_fred
#!/bin/bash
sleep 300&
echo `date`Running $0 > $0.log
이거 실행해도 괜찮아
#systemctl start test@fred
#cat /tmp/test_service_script_fred.log
Thu 12 Oct 14:42:01 BST 2023Running /tmp/test_service_script_fred
지금까지는 괜찮았지만,
#systemctl status test@fred
● [email protected] - test fred instance
Loaded: loaded (/etc/systemd/system/[email protected]; static; vendor preset: disabled)
Active: active (running) since Thu 2023-10-12 14:42:01 BST; 6s ago
Process: 10442 ExecStart=/bin/bash /tmp/test_service_script_%i (code=exited, status=0/SUCCESS)
CGroup: /system.slice/system-test.slice/[email protected]
├─ 9798 sleep 300
├─10247 sleep 300
└─10443 sleep 300
"Process:"로 시작하는 줄에는 확장되지 않은 %i가 있습니다.
실행 중인 내용을 볼 수 있도록 확장해야 합니까?