追加読書

追加読書
status -p $pidfile -l $lockfile $prog

このコマンドはCentOS - /bin/shシェル用です。

/bin/bashただし、シェル(またはまた)を使用してzshUbuntu 14.04で同じコマンドを実行しようとするとエラーが発生します。

status: invalid option: -p
Try `status --help' for more information.

statusUbuntuでpidfileの位置パラメータをコマンドに渡すにはどうすればよいですか?

ベストアンサー1

状態 -p $pidfile -l $lockfile $prog

これはRHEL / CentOS 6のシェル機能ですstatus()。それはまた呼ばれる/etc/rc.d/init.d/functionsstatusproc()最初からLinux世界。

これはあなたがしていることが非常に間違っていることを示しています。rc一般的な対話型シェル外部コマンドと組み合わせて、System 5スクリプトで使用できる特別なシェルヘルパー機能を混同しています。rcUbuntuでSystem 5スクリプトを作成しています。そして、PIDファイルとロックファイルを使用しています。

  • PIDファイルを使用しないでください貧しい人々のサービスで追跡します。 ロックファイルを使用しないでください貧しい人々のためのサービスも互いにつながっています。それぞれupstartとsystemdを持つUbuntu Linuxバージョン14と15ではまったく必要ありません。不安定なPIDファイルとロックファイルは必要ありません。 systemd と upstart の両方が同じサービスが 2 回開始されないことを保証し、最初にそのプロセスをフォークしたので、サービスプロセスのプロセス ID を正しく追跡します。これにより、次のような気がしました。
  • rcUbuntu Linuxでは、System 5スクリプトを作成しないでください。バージョン14にはすでに起動があり、バージョン15にはCentOS 7、RHEL 7、およびDebian 8と同様にsystemdがありますrc。長い間、Ubuntu LinuxでSystem 5スクリプトを書く理由はありませんでした。まだ一つあります。確かにUbuntu Linuxに戻る場合は、そこから始めてはいけません。 (誤って)rcCentOSからSystem 5スクリプトをインポートしようとしたため、ここで起動した場合も次のようになります。
  • status()シェル機能に依存しないでくださいオペレーティングシステム全体で、または同じオペレーティングシステムの異なるバージョンでも可能です。前述のように、LFSでは異なる名前があります。これはFedora 2009の「新しい」LSBサポート機能ではありません。この関数には強制されたstatusSystem 5スクリプト操作もありませんrcDebian Policy Manualまず、LSBヘルパーシェルライブラリには(わずかに異なる)ヘルパー機能がありますstatus_of_proc()

Ubuntu バージョン 14 の場合は、スタートアップの「作業ファイル」を作成し、CentOS 7、RHEL 7、Debian 8、Ubuntu 15 の場合はシステム「サービス単位」を作成します。 upstart と systemd はそれぞれ (initctl statusという単純な shim を使用してstatus) およびsystemctl status、サービス状態コマンドを提供します。業務書類またはサービスユニットでサポートあなたは何もする必要はありません

追加読書

おすすめ記事