시스템화된 백그라운드 프로세스

시스템화된 백그라운드 프로세스

모니터 핫플러깅을 처리하기 위해 연결된 모니터를 감지하고 적절한 작업을 수행하는 스크립트를 실행하는 유닛을 만들었습니다. 코드는 다음과 같습니다.여기

나는 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& 

이것이 올바른 접근 방식입니까? 스크립트에서 유사한 다른 프로세스를 어떻게 다시 시작할 수 있습니까?

관련 정보