「3. OK、警告付き」に同意しますが、さまざまな理由があります。Solarisでの私の経験では、内部プログラムの一部にPerlのOSコピーがあった。シェルスクリプトは、Perlを起動させるためのシェルにすぎませんでした。起動スクリプトはshで作成する必要がありましたか?いいえ、ただし管理者の保守性が向上しました。そしてinitスクリプトは、daemon --start
やのような複雑なことは何もしませんでしたdaemon --stop
。これを行うと、プログラムのコンテキストでそれが理にかなっている場合、通常のユーザーが非特権モードでツールを起動できます。そして、複雑な設定をすべて行う必要はありません。
最近のLinuxディストリビューションは、まだを使用しているディストリビューションであってもinit.d
、デーモンの管理を容易にするためにあらかじめ構築された関数の大規模なコレクションを備えています。グラフィカルブートプロセスは、起動スクリプトの1つがエラーを吐き出さない限り、これらの機能を日常的に利用して、きれいなロゴを維持します。Pythonコード(またはその他の言語)は、これらのスキームではうまく機能しない可能性があります。
美観や保守性を気にしないのであれば、initスクリプトは好きなように書くことができます。適切にカットアンドペーストすらできず、コマンドライン引数を完全に無視して、デーモンを開始するだけの管理者をたくさん見ました。シャットダウン、ステータス、再起動はありません。それは未熟でしたが、彼らのコードはまだ走りました。