OpenSUSE 11.4sysvinit-tools
パッケージには、startproc
ドキュメントとOpenSUSEのドキュメントに従ってkillproc
Sys-Vタイプinitスクリプトで使用する必要があるバイナリが含まれています。このバイナリの背後に隠されたアイデアは何ですか? 、、、および他の同様のツールを使用して、およびと同じ機能を実行できませんか?checkproc
/etc/init.d/skeleton
startproc
killproc
checkproc
nice
sudo
sleep
答え1
まず、特定のプログラムを定義しましょう。 起動プロセス
startproc:startprocとLSBのバリアントstart_daemonは、すべてのプロセスで指定された実行可能ファイルを確認し、プロセスが存在しない場合に開始します。 startprocはプロセスを取得するためにpidを使用しませんが、実行可能ファイルを識別するためにそのプログラムのフルパスを使用します。
Killproc は、指定された実行ファイルを使用してすべてのプロセスにシグナルを送信します。信号名が指定されていない場合は、SIGTERM 信号が送信されます。 Killprocはpidを使用してプロセスにシグナルを送信するのではなく、そのプログラムのフルパスを使用して実行可能ファイルを識別します。
checkprocは、指定された実行可能ファイルを使用して実行中のプロセスを確認します。 checkprocはプロセスをチェックするためにpidを使用しませんが、実行可能ファイルを識別するためにそのプログラムのフルパスを使用します。
Nice、sudo、sleepは、上記のプログラムに関連するいかなる作業も行いません。
もちろん、すべてのスクリプト言語(bashなど)または他のコンパイルされた言語でkill / start / checkprocで同じロジックを実行できます。ただし、これらのプログラムの目的は、この機能を必要とするすべてのユーザーにこの機能を提供することです。したがって、ユーザーは他のディストリビューションと異なるオペレーティングシステムで同じロジックを作成/再作成する必要はありません。