システム化されたバックグラウンドプロセス

システム化されたバックグラウンドプロセス

モニターのホットプラグを処理するために、接続されたモニターを検出し、適切なタスクを実行するスクリプトを実行するユニットを作成しました。コードは次のとおりです。ここ

私は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& 

これは正しいアプローチですか?スクリプト内の他の類似プロセスをどのように再起動できますか?

関連情報