
私はsystemdを使い始めました。 OpenVPNを停止して起動する必要があります。
たとえば、OpenVPN を正常に起動できます。
systemctl start [email protected]
次の方法で停止できます。
systemctl stop [email protected]
ただし、現在どのVPNに接続しているかを知らなくても、スクリプトでopenvpnを停止できることを願っています。以前は、以下を使用しました。
service stop openvpn
systemctlを使用できますか?
答え1
パターンを使用できます(含むシェルボール)とsystemctl
コマンド。バラよりman systemctl
:
シェルスタイルglobは、サフィックスがあるかどうかにかかわらず、現在ロードされているユニット名と一致し、最初のケースとして扱われます。つまり、リテラル単位名は常に正確に1つの単位を参照しますが、globはゼロ単位と一致する可能性があり、これはエラーとは見なされません。
グローバルモードはfnmatch(3)を使用するため、一般的なシェルスタイルのグローバルルールを使用し、「*」、「?」、「[]」を使用できます。詳細については、glob(7) を参照してください。これらのパターンは現在ロードされているデバイスの名前と一致し、何も一致しないパターンは自動的にスキップされます。例:
# systemctl stop sshd@*.service は
すべて停止します。[Eメール保護]はい。
したがって、お客様の場合は、systemctl stop openvpn*
すべてのOpenVPNサービスを停止する必要があります。