모니터 핫플러깅을 처리하기 위해 연결된 모니터를 감지하고 적절한 작업을 수행하는 스크립트를 실행하는 유닛을 만들었습니다. 코드는 다음과 같습니다.여기
나는 monitor_hotplug.sh
다른 프로세스를 다시 로드하기 위해 몇 가지 신호나 옵션을 사용합니다.
# Or restart panel
xfce4-panel -r
#reload conky
killall -s SIGUSR1 conky
하지만 어떤 경우에는 다음과 같이 프로세스를 다시 로드해야 합니다.
# restart plank
killall -s SIGHUP plank
plank
몇 가지 단점이 있습니다:
- 유닛은 판자가 종료될 때까지 활성화됩니다.
- Plank 시작은 스크립트의 마지막 명령이어야 합니다.
- 이와 같은 여러 프로세스를 시작할 수 없습니다
이 문제를 해결하기 위해 단위 유형을 으로 변경 forking
하고 백그라운드 프로세스로 판자를 시작했습니다.
# restart plank
killall -s SIGHUP plank
plank&
이것이 올바른 접근 방식입니까? 스크립트에서 유사한 다른 프로세스를 어떻게 다시 시작할 수 있습니까?