私は、あらゆる*nix OSでApacheを再起動できる単一のコマンドが欲しいです。現在、私はUbuntuで作業していますが、
/usr/sbin/apache2ctl
/usr/sbin/service
- いいえ
apachectl
- いいえ
httpd
Scientific Linux CERN 5は、
/usr/sbin/apachectl
/etc/init.d/httpd
- いいえ
apache2ctl
- いいえ
service
次のようなハックは避けたいwhich service 2>/dev/null || which /etc/init.d/httpd
答え1
apachectl / apache2ctl は、Apache を制御するための Apache 組み込みツールです。これは Apache に付属しており、すべての OS で使用できるため、おそらく適切なツールです。apachectl は
通常 Apache 1.x 用で、apache2ctl は Apache 2.x 用です。SLC5
が Apache 2.x に付属している場合は、かなり奇妙ですが、スクリプトで apachectl と apache2ctl の両方を実行できます。
答え2
どの apachectl がインストールされているかを確認し、適切なものを実行するスクリプトを使用できます。
#!/bin/bash
if [ -e /usr/sbin/apacche2ctl ]
then
/usr/sbin/apache2ctl restart
elif [ -e /usr/sbin/apachectl ]
then
/usr/sbin/apachectl restart
else
echo "No Apache control program found"
fi