以下に示すように、cPanelサーバー(CentOS 6)で実行されるカスタムスクリプトがあります。着信データを受け入れるために、指定されたポートでサービスを開始します。それを使うスタートコマンドし、うまく実行されます。
#!/bin/bash
PORT_NUMBER=xxxx
echo "Start Time: $(date)"
if sudo netstat -altpn|grep xxxx | grep -q 'CLOSE_WAIT'; then
echo "Found Close Wait"
sudo stop comm
sleep 60
sudo stop comm
sudo lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill
sudo kill -9 $(sudo lsof -t -i:xxxx)
sleep 60
sudo start comm
fi
if [[ $(sudo lsof -t -i:2010) ]]; then
echo "Service Running"
else
echo "Restarting Service"
sudo start comm
fi
どの起動コマンドが生成されるか/sbin/start
このスクリプトをCentOS 7がインストールされている最新のサーバーにコピーしました。実行しようとすると、次のエラーが発生します。
Start Time: Mon Sep 20 12:09:36 UTC 2021
Restarting Service
sudo: start: command not found
End Time: Mon Sep 20 12:09:36 UTC 2021
インストールするパッケージを検索しようとしましたが、実行コマンドが提供されました。そのようなパッケージが見つかりません。 CentOS 7サーバーにどのパッケージをインストールする必要があるのかご存知ですか?
修正する 通信操作は /etc/init/comm.conf で定義され、起動コマンドの引数として呼び出されます。
description "Daemon Service running on port xxxx to receive device files"
author "xxxxxxxxxx"
start on startup
stop on shutdown
respawn
script
[ $(exec /usr/bin/php -f /home/xxxxxxx/scripts/comm.php &>> /home/xxxxxxx/scripts/log.txt) = 'ERROR' ] && ( stop; exit 1; )
end script